webhookを使うと、GitHub AppやOAuth Appのような、GitHub.com上の特定のイベントをサブスクライブするインテグレーションを構築し、セットアップできます。 それらのイベントのいずれかがトリガーされると、webhookに設定されたURLにHTTP POSTペイロードが送信されます。 webhookは、外部のIssueトラッカーを更新したり、CIビルドをトリガーしたり、バックアップミラーを更新したり、さらにはプロダクションサーバーへのデプロイをしたりするのに利用できます。 想像力が及ぶかぎりのことが可能です。
webhookは、 GitHub Enterprise、Organization、特定のリポジトリ、GitHub Appにインストールできます。 インストールされると、1つ以上のサブスクライブされたイベントが発生するたびに、webhookが送信されます。
作成できるwebhookは、それぞれのインストールターゲット(GitHub Enterprise Server のインスタンス、特定のOrganization、あるいは特定のリポジトリ)上の各イベントに対して最大250です。
イベント
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.
それぞれのイベントは、Organizationやリポジトリに生じうる一連のアクションに対応します。 たとえば、issues
イベントにサブスクライブしているなら、Issueのオープン、クローズ、ラベル付けなどが生じるたびに詳細なペイロードを受信することになります。
利用できるwebhookのイベントとそれらのペイロードのリストについては「webhookイベントのペイロード」を参照してください。
Pingイベント
新しいwebhookが作成されると、シンプルなping
イベントが送信され、webhookが正しくセットアップされたことを知らせます。 This event isn't stored so it isn't retrievable via the Events API endpoint.
ping
イベントのwebhookのペイロードに関する詳細な情報についてはping
イベントを参照してください。