Webhooks allow you to build or set up integrations, such as GitHub Apps or OAuth App, which subscribe to certain events on GitHub.com. それらのイベントのいずれかがトリガーされると、webhookに設定されたURLにHTTP POSTペイロードが送信されます。 webhookは、外部のIssueトラッカーを更新したり、CIビルドをトリガーしたり、バックアップミラーを更新したり、さらにはプロダクションサーバーへのデプロイをしたりするのに利用できます。 想像力が及ぶかぎりのことが可能です。
webhookは、 GitHub Enterprise、Organization、特定のリポジトリ、GitHub Appにインストールできます。 インストールされると、1つ以上のサブスクライブされたイベントが発生するたびに、webhookが送信されます。
作成できるwebhookは、それぞれのインストールターゲット(GitHub Enterprise Server のインスタンス、特定のOrganization、あるいは特定のリポジトリ)上の各イベントに対して最大250です。
イベント
webhookを設定する際には、ペイロードを送信するイベントを選択するためにUIもしくはAPIが使用できます。 処理する計画の特定のイベントだけをサブスクライブすることによってのみ、サーバーへのHTTPリクエスト数を制限できます。 現在、そして未来のすべてのイベントをサブスクライブすることもできます。 デフォルトでは、webhookはプッシュイベントだけをサブスクライブします。 サブスクライブするイベントのリストは、いつでも変更できます。
それぞれのイベントは、Organizationやリポジトリに生じうる一連のアクションに対応します。 たとえば、issues
イベントにサブスクライブしているなら、Issueのオープン、クローズ、ラベル付けなどが生じるたびに詳細なペイロードを受信することになります。
For a complete list of available webhook events and their payloads, see "Webhook events and payloads."
Pingイベント
新しいwebhookが作成されると、シンプルなping
イベントが送信され、webhookが正しくセットアップされたことを知らせます。 このイベントは保存されないので、Events APIエンドポイントを通じて取り出すことはできません。
ping
イベントのwebhookのペイロードに関する詳細な情報についてはping
イベントを参照してください。