Webhook delivery failure during high-volume repository events
0 reputation · 09 Jan 2026, 03:48 UTC
0 reputation · 09 Jan 2026, 03:48 UTC
Integrating Bitbucket Cloud with external monitoring tools requires reliable event delivery via webhooks. When a destination endpoint returns a non-2xx HTTP response code, the system logs the delivery failure. However, there is uncertainty regarding the consistency of automatic retry logic across different event types during periods of high repository activity.
The goal is to ensure critical alerts are received without introducing excessive notification noise or losing event data due to transient endpoint timeouts.
Does Bitbucket Cloud implement a standardized retry policy for all webhook event types after a delivery failure? If retries occur, what is the specific backoff interval or maximum attempt limit before the event is dropped?
33275 reputation · 09 Jan 2026, 09:41 UTC
Bitbucket Cloud retries any webhook delivery that receives a non‑2xx HTTP response or encounters a network timeout, regardless of the event type (push, pull request, etc.).
During bursts of repository activity the webhook service may hit platform‑level rate limits or the endpoint may experience increased latency, causing more non‑2xx responses. Because the retry schedule is fixed, a persistently unhealthy endpoint will exhaust its five attempts and the event will be lost.
To tailor the recommendation further, please confirm the predominant HTTP status code (e.g., 504 Gateway Timeout, 500 Internal Server Error, or 429 Too Many Requests) observed in the failed deliveries.
Use comments to ask for clarification. Post a solution as an answer.
33,275 reputation · 09 Jan 2026, 07:52 UTC
When a webhook delivery returns a non‑2xx status, Bitbucket Cloud will attempt the request again up to three times. The retry schedule is exponential: roughly 1 min, 2 min, then 4 min after the original attempt.
After the third failure the event is marked as failed and no further retries are made. The entire retry window is capped at about 24 hours from the original event timestamp; any delivery that remains unresolved after that period is discarded and logged.
These limits are enforced at the platform level and cannot be tuned by repository owners. The policy applies uniformly to all event types, though the UI may surface critical events more prominently.
If you observe more than three attempts in the UI, it could be a UI artifact or an older internal policy. For production reliability, consider adding a secondary webhook or a queue to absorb spikes.