Note: GitHub webhooks do not currently support IPv6 but will in the future. The
/meta REST API endpoint returns IPv6 ranges to enable that transition.
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. Webhooks can be used to update an external issue tracker, trigger CI builds, update a backup mirror, or even deploy to your production server. You're only limited by your imagination.
Webhooks can be installed on an organization, a specific repository, or a GitHub App. Once installed, the webhook will be sent each time one or more subscribed events occurs.
You can create up to 20 webhooks for each event on each installation target (specific organization or specific repository).
When configuring a webhook, you can use the UI or API to choose which events will send you payloads. Only subscribing to the specific events you plan on handling limits the number of HTTP requests to your server. You can also subscribe to all current and future events. By default, webhooks are only subscribed to the push event. You can change the list of subscribed events anytime.
Each event corresponds to a certain set of actions that can happen to your organization and/or repository. For example, if you subscribe to the
issues event you'll receive detailed payloads every time an issue is opened, closed, labeled, etc.
For a complete list of available webhook events and their payloads, see "Webhook events and payloads."
When you create a new webhook, we'll send you a simple
ping event to let you know you've set up the webhook correctly. This event isn't stored so it isn't retrievable via the Events API endpoint.
For more information about the
ping event webhook payload, see the