Handling GitHub webhook retry

Hi Team,

We’re planning to make use of GitHub Webhook for one of our use cases. One thing which is not clear to me is how the delivery failures are handled. For example:

  • If the delivery failed for an event (say the downstream server was down), does GitHub retry the delivery again? If yes, what’s the frequency and max limit of the retry? I couldn’t get any details on this while searching numerous articles.
  • If GitHub doesn’t retry, are there api’s i can use to get the list of failed deliveries and then use an api to redeliver? I tried looking for it, but the closet i came to was https://github.com/hooks/{hookId}/deliveries but that returns a “text/html” and not json for some weird reason. This is probably because it’s not an api per se.
  • Any other recommended way to get the failed deliveries and retry?

Thanks,

Nitin

1 Like

There are no retries of failed webhook deliveries and no API for listing or retrieving failed webhook events. If you need 100% guaranteed reliability, then you’ll need to use polling or some other system to find the events that happened while your system was unresponsive.

@nitinkcv I’m one of the founders of API Tracker and this is one of the use case we solve for our customers. We let team set up a API proxy that forward to their webhook handler. You can enable auto retry, queue of failed calls, etc… with a click of a button

Sign up for a free account to give it a try or email me at trung@apitracker.com if you have any question

1 Like

This might be helpful! Webhook Deliveries API | GitHub Changelog

You can hit the deliveries endpoints for repos, orgs, and app events that have been delivered to your app.

1 Like