Service Hooks are a powerful way of extending GitHub Enterprise functionality and are how you integrate with CI systems such as Jenkins, Bamboo, and TeamCity. You can also setup webhooks that subscribe to various events that occur on the site and post JSON payloads to URLs you specify. The URL could be for a service like Jenkins or a custom one you write yourself. If you find that payloads you're expecting to be delivered aren't showing up, this guide is for helping you navigate the available troubleshooting options to find out what's going on.
Getting information on deliveries
You can find information for the last response of all service hooks deliveries on any repository to help troubleshoot what's going on. To do that:
- Browse to the repository in question and then click the Admin tools icon in your header.
- Click on the Hooks link in the navigation sidebar.
- Click on the Latest Delivery link under the service hook having problems.
Finding what went wrong
Once you're viewing the Latest Delivery as described above, you'll want to look specifically at the Remote Calls section:
This will provide you with the headers that were used when POSTing to the remote server along with the response that the remote server sent back to your installation. In the above case, the URL being used is getting served a 404 when the POST is made to it.
Viewing the payload
You can also view the actual payload that was sent by clicking on the Delivery link when on the Latest Delivery page for a service hook:
This can be helpful if you need to make sure it's the delivery you're looking for.
Viewing past deliveries
All past deliveries are stored indefinitely. You can view older deliveries by clicking on the More for this Hook ID link:
You'll see a list of past deliveries sorted in reverse chronological order to peruse: