wtfutil/wtf · error
JIRA API error - %s: %s (URL: %s)
Error message
JIRA API error - %s: %s (URL: %s)
What it means
Raised in jiraRequest when the JIRA REST API returns a non-2xx status: the error carries the HTTP status line, the raw response body, and the request URL. Fires for authentication failures (401/403), missing resources (404), bad JQL (400), rate limiting, and server errors.
Source
Thrown at modules/jira/client.go:315
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 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 (widget *Widget) jiraPostRequest(path string, data []byte) ([]byte, error) {
url := fmt.Sprintf("%s%s", widget.settings.domain, path)
req, err := http.NewRequest("POST", url, bytes.NewBuffer(data))
if err != nil {
return nil, err
}
View on GitHub (pinned to bb838c1ccb)
Solutions
- Check the JIRA credentials (API token / username) are valid for the configured host
- Inspect the response body included in the error — JIRA usually explains the problem there
- Validate the JQL query and project/issue identifiers
- Check for rate limiting or Atlassian status page incidents
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at modules/jira/client.go:315 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/d924bca096d753ab.
Report an issue: GitHub.