-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Better Jira error handling #140
Conversation
* Return HTTP 400 Bad Request for non-retriable errors. It is inaccurate, but will prevent alertmanager from retrying. * Turns out go-jira does actually produce useful error messages (and it consumes the response body in the process). Log that instead of the empty body. Signed-off-by: Alin Sinpalean <[email protected]>
Signed-off-by: Alin Sinpalean <[email protected]>
Tested locally with a user that does not have access to the project. Before:
After:
It's not ideal, as go-jira includes both the (formatted) body ("The value 'ABC' does not exist for the field 'project'") and the text "Please analyze the request body for more details", but at least the underlying error is logged now. And Alertmanager is hopefully persuaded to not retry. |
…imes go-jira consumes the body and includes it in its error, sometimes it doesn't. Signed-off-by: Alin Sinpalean <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
* Better Jira error handling * Return HTTP 400 Bad Request for non-retriable errors. It is inaccurate, but will prevent alertmanager from retrying. * Turns out go-jira does actually produce useful error messages (and it consumes the response body in the process). Log that instead of the empty body. Signed-off-by: Alin Sinpalean <[email protected]> * Also include HTTP response status 429 among retriable errors. Signed-off-by: Alin Sinpalean <[email protected]> * Include both the go-jira error and the response body in errors. Sometimes go-jira consumes the body and includes it in its error, sometimes it doesn't. Signed-off-by: Alin Sinpalean <[email protected]> --------- Signed-off-by: Alin Sinpalean <[email protected]> Co-authored-by: Alin Sinpalean <[email protected]>
* Better Jira error handling (prometheus-community#140) * Better Jira error handling * Return HTTP 400 Bad Request for non-retriable errors. It is inaccurate, but will prevent alertmanager from retrying. * Turns out go-jira does actually produce useful error messages (and it consumes the response body in the process). Log that instead of the empty body. Signed-off-by: Alin Sinpalean <[email protected]> * Also include HTTP response status 429 among retriable errors. Signed-off-by: Alin Sinpalean <[email protected]> * Include both the go-jira error and the response body in errors. Sometimes go-jira consumes the body and includes it in its error, sometimes it doesn't. Signed-off-by: Alin Sinpalean <[email protected]> --------- Signed-off-by: Alin Sinpalean <[email protected]> Co-authored-by: Alin Sinpalean <[email protected]> * disable update existing jira issues with parameter (prometheus-community#150) * Bump all dependencies (prometheus-community#133) Signed-off-by: Jan-Otto Kröpke <[email protected]> Signed-off-by: Jan-Otto Kröpke <[email protected]> Signed-off-by: Holger Waschke <[email protected]> * parameter to disable update jira issues Signed-off-by: Holger Waschke <[email protected]> Signed-off-by: Holger Waschke <[email protected]> * rename parameter to make it more clear and avoid double negation. fix bug with missing return value. Signed-off-by: Holger Waschke <[email protected]> * Update main.go Signed-off-by: dvag-holger-waschke <[email protected]> * Update notify.go Signed-off-by: dvag-holger-waschke <[email protected]> * Update main.go Signed-off-by: dvag-holger-waschke <[email protected]> * Update main.go Signed-off-by: dvag-holger-waschke <[email protected]> * Update main.go Signed-off-by: dvag-holger-waschke <[email protected]> * Update notify.go Signed-off-by: dvag-holger-waschke <[email protected]> * fix for notify test Signed-off-by: Holger Waschke <[email protected]> --------- Signed-off-by: Jan-Otto Kröpke <[email protected]> Signed-off-by: Holger Waschke <[email protected]> Signed-off-by: Holger Waschke <[email protected]> Signed-off-by: dvag-holger-waschke <[email protected]> Co-authored-by: Jan-Otto Kröpke <[email protected]> Co-authored-by: Holger Waschke <[email protected]> * Adding getEnv templating function (prometheus-community#153) Signed-off-by: Jiri Tyr <[email protected]> * feat: add support for static jira labels (prometheus-community#154) Signed-off-by: Herman Ewert <[email protected]> Co-authored-by: Herman Ewert <[email protected]> * Fix prometheus-community#146 (safe limit of 200 characters from group label value) (prometheus-community#147) Signed-off-by: jzajic <[email protected]> * doc(PAT): Adds doc for PAT usage (prometheus-community#155) Signed-off-by: Julian Beck <[email protected]> * truncate descriptions that exceed -max-description-length (default 32KB) (prometheus-community#165) * truncate descriptions that exceed -max-description-length (default 32,768) Signed-off-by: Jason Wells <[email protected]> * Update main.go size was off by 1 Signed-off-by: Jason Wells <[email protected]> --------- Signed-off-by: Jason Wells <[email protected]> * fix: 🐛 Fixes error message for doTransition to display the proper transition state (prometheus-community#176) Signed-off-by: Nathan Gotz <[email protected]> * search for existing issue in multiple projects (prometheus-community#162) * search for existing issue in multiple projects Signed-off-by: Jason Wells <[email protected]> * Apply suggestions from code review Co-authored-by: Bartlomiej Plotka <[email protected]> Signed-off-by: Jason Wells <[email protected]> --------- Signed-off-by: Jason Wells <[email protected]> Co-authored-by: Bartlomiej Plotka <[email protected]> * add Fingerprint field to Alert so that it may be used in templates (prometheus-community#152) (prometheus-community#163) Signed-off-by: Jason Wells <[email protected]> --------- Signed-off-by: Alin Sinpalean <[email protected]> Signed-off-by: Jan-Otto Kröpke <[email protected]> Signed-off-by: Holger Waschke <[email protected]> Signed-off-by: Holger Waschke <[email protected]> Signed-off-by: dvag-holger-waschke <[email protected]> Signed-off-by: Jiri Tyr <[email protected]> Signed-off-by: Herman Ewert <[email protected]> Signed-off-by: jzajic <[email protected]> Signed-off-by: Julian Beck <[email protected]> Signed-off-by: Jason Wells <[email protected]> Signed-off-by: Nathan Gotz <[email protected]> Co-authored-by: Alin Sinpalean <[email protected]> Co-authored-by: Alin Sinpalean <[email protected]> Co-authored-by: dvag-holger-waschke <[email protected]> Co-authored-by: Jan-Otto Kröpke <[email protected]> Co-authored-by: Holger Waschke <[email protected]> Co-authored-by: Jiri Tyr <[email protected]> Co-authored-by: Herman <[email protected]> Co-authored-by: Herman Ewert <[email protected]> Co-authored-by: Jan Zajic <[email protected]> Co-authored-by: Julian Beck <[email protected]> Co-authored-by: Jason Wells <[email protected]> Co-authored-by: Nathan Gotz <[email protected]> Co-authored-by: Bartlomiej Plotka <[email protected]>
This addresses a number of currently open issues, including #132, #97 and #53.
Signed-off-by: Alin Sinpalean [email protected]