Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does my Github webhook keep timing out?

Tags:

github

We couldn’t deliver this payload: Service Timeout

I was successfully sending webooks to my server 5 minutes ago, and now I just keep getting timeouts. I tried deleting the webook and re-adding it, changing the URL it points to, but nothing.

Am I flooding it with too many pushes, or is GitHub's webhook service just down?

like image 270
AgmLauncher Avatar asked Sep 27 '14 07:09

AgmLauncher


People also ask

How do I test a GitHub webhook?

run to test GitHub webhooks using an application running on localhost. Using an SSH tunnel, localhost. run tunnels HTTP traffic to a local application. You can then point GitHub's webhook endpoint at localhost.

How does GitHub webhook work?

Webhooks allow you to build or set up integrations, such as GitHub Apps or OAuth Apps, which subscribe to certain events on GitHub.com. When one of those events is triggered, we'll send a HTTP POST payload to the webhook's configured URL.

What is GitHub webhook URL?

This is known as the webhook URL. The endpoint handler at the webhook URL handles the action to be performed in response to the event. GitHub also sends the payload of data about the event that triggered the webhook along with the request.


2 Answers

Unless there is some kind of error on the GitHub side (which doesn't seem to be the case at the moment, given their "System Status" history), you might check the program receiving the payload of that webhook.

See a similar problem in Supybot-plugins 225:

I contacted GitHub support and one of the employees has been troubleshooting this for me. Here is part of what he had to say about the issue:

I just tried making a request manually from one of our machines, and that went through with no error (see curl -v output below).
However, I did notice that it took extremely long for the request to be processed -- over 15 seconds (for 2 bytes of data).

Decoupling the listening and reception of the payload, from its proicessing, is generally the right approach, as I recommended ion "Perl Script slow over Tomcat 6.0 and generates service time out".
The first part should be as fast as possible.

like image 165
VonC Avatar answered Oct 15 '22 04:10

VonC


It also turns out that GitHub has a 10-second timeout set on their webhooks. That is what I ran into. See the documentation here.

like image 31
ajon Avatar answered Oct 15 '22 03:10

ajon