wtfutil/wtf · error
JIRA API POST error - %s: %s (URL: %s)
Error message
JIRA API POST error - %s: %s (URL: %s)
What it means
Raised in jiraPostRequest when a POST to the JIRA API returns a non-2xx status: includes the HTTP status, response body, and URL. Used by JQL conversion; typically fires on authentication failure, malformed request payload, or server-side rejection.
Source
Thrown at modules/jira/client.go:358
httpClient := &http.Client{
Transport: &http.Transport{
TLSClientConfig: &tls.Config{
InsecureSkipVerify: !widget.settings.verifyServerCertificate,
},
Proxy: http.ProxyFromEnvironment,
},
}
resp, err := httpClient.Do(req)
if err != nil {
return nil, err
}
defer func() { _ = resp.Body.Close() }()
if resp.StatusCode < 200 || resp.StatusCode > 299 {
body, _ := io.ReadAll(resp.Body)
return nil, fmt.Errorf("JIRA API POST error - %s: %s (URL: %s)", resp.Status, string(body), url)
}
body, err := io.ReadAll(resp.Body)
if err != nil {
return nil, err
}
return body, nil
}
func getProjectQuery(projects []string) string {
singleEmptyProject := len(projects) == 1 && projects[0] == ""
if len(projects) == 0 || singleEmptyProject {
return ""
} else if len(projects) == 1 {
return buildJql("project", projects[0])
}
View on GitHub (pinned to bb838c1ccb)
Solutions
- Verify JIRA credentials and that the token has permission for the endpoint
- Inspect the response body in the error message for JIRA's rejection reason
- Check that the POST payload matches the API version of the configured JIRA instance (Cloud vs Server)
- Retry later if the status indicates a server-side (5xx) issue
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at modules/jira/client.go:358 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of wtfutil/wtf@bb838c1ccb (2026-09-03).
Data as JSON: /api/errors/18b62c604d8c3f50.
Report an issue: GitHub.