ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-03-02. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

webhookの作成

webhookの構築、webhookがGitHub上で待ち受けるイベントの選択、webhookのペイロードを受信して管理するサーバーのセットアップ方法を学んでください。

ここには以下の内容があります:

webhookの基礎を理解したので、webhookで動作する独自のインテグレーションオン構築プロセスを見ていきましょう。 このチュートリアルでは、1日あたりに受け取るIssueのの数に基づいて、リポジトリの人気の度合いをリストする役目を持つリポジトリwebhookを作成します。

webhookの作成は、2ステップのプロセスです。 まず、webhookをGitHub Enterprise Serverを通じてどのように動作させたいのかをセットアップする必要があります。これはすなわち、どのイベントを待ち受けるのかということです。 その後、ペイロードを受信して管理するようにサーバーをセットアップします。

You can use the repository, organization, and app webhook REST APIs to create, update, delete, and ping webhooks. For more information, see:

webhookのセットアップ

webhookは、Organizationもしくは特定のリポジトリにインストールできます。

webhookをセットアップするには、リポジトリもしくはOrganizationのsettings(設定)ページにアクセスしてください。 そこからWebhooksをクリックし、続いてAdd webhook(webhookの追加)をクリックしてください。

あるいは、Webhooks APIを通じてwebhookの構築と管理を行うこともできます。

webhookには、利用を開始する前にいくつかの設定オプションが必要です。 以下、それぞれの設定について見ていきます。

ペイロードURL

The payload URL is the URL of the server that will receive the webhook POST requests.

チュートリアルではローカルで開発をしているので、http://localhost:4567/payloadに設定しましょう。 その理由はサーバーの設定ドキュメントで説明します。

コンテントタイプ

webhookは、様々なコンテンツタイプを使って配信できます。

  • application/jsonコンテンツタイプは、JSONペイロードをPOSTリクエストのボディとして直接配信します。
  • application/x-www-form-urlencodedコンテンツタイプは、JSONペイロードをpayloadと呼ばれるフォームのパラメータとして送信します。

要求に最適なものを選んでください。 このチュートリアルでは、デフォルトのコンテントタイプをapplication/jsonにしておけば問題ありません。

シークレット

Setting a webhook secret allows you to ensure that POST requests sent to the payload URL are from GitHub Enterprise Server. When you set a secret, you'll receive the X-Hub-Signature header in the webhook POST request. For more information on how to use a secret with a signature header to secure your webhook payloads, see "Securing your webhooks."

SSLの検証

If your "Payload URL" is a secure site (HTTPS), you will have the option to configure the SSL verification settings. If your "Payload URL" is not secure (HTTP), GitHub will not display this option. By default, GitHub verifies the SSL certificate of your website when delivering webhook payloads. SSL verification helps ensure that hook payloads are delivered to your URL endpoint securely. You have the option to disable SSL, but we recommend keeping Enable SSL verification selected.

Active

デフォルトでは、webhookの配信は「Active」です。 「Active」の選択を解除することで、webhookのペイロードの配信を無効化できます。

イベント

イベントは、webhookの中核です。 これらのwebhookは、リポジトリで特定のアクションが行われたときに動作し、それがサーバーのペイロードURLで受信され、処理が行われます。

webhookイベントと、それらのイベントがいつ動作するのかの完全なリストはwebhook APIリファレンスにあります。

ここでのwebhookはリポジトリ内のIssueを扱うので、Let me select individual events(個別のイベントを選択する)をクリックし、そしてIssueをクリックしてください。 トリガーされたwebhookに対するIssueイベントを受信できるよう、必ずActiveを選択してください。 また、デフォルトオプションを使ってすべてのイベントを選択することもできます。

完了したら、Add webhook(webhookの追加)をクリックしてください。 ふう! これでwebhookができたので、ローカルサーバーをセットアップしてwebhookをテストしましょう。 その方法はサーバーの設定を見てください。

ワイルドカードイベント

すべてのイベントに対してwebhookを設定するには、ワイルドカード(*)文字を使ってwebhookイベントを指定してください。 ワイルドカードイベントを追加すると、設定されたすべての既存のイベントはワイルドカードイベントで置き換えられ、サポートされるすべてのイベントについてペイロードが送信されます。 また、将来追加される可能性のある新しいイベントも自動的に受信されるようになります。