-
Type:
Suggestion
-
Resolution: Unresolved
-
Component/s: Integrations - 3rd-party - Zendesk
-
None
-
1
Issue Summary
Outgoing Opsgenie to Zendesk API calls can periodically hit Zendesk's Rate Limits and thus failing with the 429 error. This results in Zendesk Tickets not being closed when the corresponding Opsgenie alerts are closed.
Most of the "setStatusToSolved" and "addInternalComment" actions were "successfully sent", however, periodically some would "failed to send", for example:
[system] [ZendeskV2-Opsgenie Alerts to Zendesk Tickets (Support)] Failed to send [setStatusToSolved], reason: 429 Too Many Requests: "{"errors":[{"code":"tickets-update","title":"Ticket update API threshold exceeded","status":429}]}" system] [ZendeskV2-Opsgenie Alerts to Zendesk Tickets (Support)] Failed to send [addInternalComment], reason: 429 Too Many Requests: "{"errors":[{"code":"tickets-update","title":"Ticket update API threshold exceeded","status":429}]}" [ZendeskV2-Opsgenie Alerts to Zendesk Tickets (Support)] Failed to send [setStatusToSolved], will not retry. exception: org.springframework.web.client.HttpClientErrorException$TooManyRequests: 429 Too Many Requests: "{"errors":[{"code":"tickets-update","title":"Ticket update API threshold exceeded","status":429}]}"
Suggested Solutions
Suggest implementing a retry logic with delay mechanism as suggested in this Zendesk Rate Limits document:
"You can use the following response headers to confirm the account's current rate limit and monitor the number of requests remaining in the current minute:
X-Rate-Limit: 700 X-Rate-Limit-Remaining: 699If the rate limit is exceeded, the API responds with a 429 Too Many Requests status code. The response also has a Retry-After header that tells you how many seconds to wait before retrying API requests. Ensure your code handles 429 errors and waits the Retry-After interval before retrying requests."
Workaround
Currently there is no known workaround for this behavior other than subscribing to a Zendesk Suite plan with a higher rate limit (where available) or use additional filters to limit the number of tickets sent to Zendesk.
- duplicates
-
OPSGENIE-362 Add exponential back-off and retry logic for outbound rate limited requests
- Gathering Interest