Skip to main content

webhookの作成

webhook を作成して、 GitHubで発生する特定のイベントをサブスクライブできます。

webhookの作成について

webhook を作成して、リポジトリ、組織、GitHub アカウント、GitHub Marketplace アカウント、GitHub Sponsors、またはで発生するGitHub Appの特定のイベントをサブスクライブできます。

さまざまな種類の Webhook の詳細については、「Webhook の種類」を参照してください。

Webhook イベントの完全な一覧については、「Webhook のイベントとペイロード」を参照してください。

リポジトリの Webhook の作成

特定のリポジトリで発生したイベントをサブスクライブするWebhook を作成できます。 そのリポジトリに Webhook を作成するには、リポジトリのオーナーであるか、リポジトリの管理者アクセス権が必要です。

GitHub Web インターフェイスまたは REST API を使用して、リポジトリ Webhook を作成できます。 REST API を使用してリポジトリ Webhook を作成する方法の詳細については、「リポジトリ ウェブフック の REST API エンドポイント」を参照してください。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. 左側のサイドバーで、 [Webhooks] をクリックします。

  4. [Webhook の追加] を選択します。

  5. [ペイロード URL] の下に、ペイロードを受信する URL を入力します。

  6. 必要に応じて、 [コンテンツ タイプ] ドロップダウン メニューを選び、Webhook ペイロードを受信するデータ形式をクリックします。

    • application/jsonは、JSONペイロードをPOSTリクエストのボディとして直接配信します。
    • application/x-www-form-urlencoded は、JSON ペイロードを payload というフォーム パラメーターとして送信します。payload
  7. 必要に応じて、 [シークレット] フィールドの下に、 secretキーとして使用する文字列を入力します。 エントロピーの高いランダムな文字列を選択してください。 Webhook シークレットを使用して、GitHub から発信されたリクエストのみに受信を制限することができます。 詳しくは、「Webhook 配信を検証する」をご覧ください。

  8. [この Webhook をトリガーするイベントを指定してください] で、受信する Webhook イベントを選択します。 必要な Webhook イベントのみをサブスクライブしてください。

  9. [個別のイベントを選択する] を選択した場合、Webhook をトリガーしたいイベントを選択します。

  10. 構成を追加した直後に Webhook をアクティブにするには、 [アクティブ] を選びます。

  11. [Webhook の追加] を選択します。

新しい webhook を作成すると、 GitHub は webhook を正しく設定したことを知らせる単純な ping イベントを送信します。 詳しくは、「Webhook のイベントとペイロード」をご覧ください。

組織のウェブフック作成

特定の組織で発生するイベントをサブスクライブする Webhook を作成できます。 その組織で Webhook を作成するには、組織のオーナーである必要があります。

GitHub Web インターフェイスまたは REST API を使用して、組織の Webhook を作成できます。 REST API を使用して organization の Webhook を作成する方法の詳細については、「組織の Webhook の REST API エンドポイント」を参照してください。

  1. GitHubのページの右上隅にあるプロフィール画像をクリックします。
  2. [自分の組織] をクリックします。
  3. 組織の右側にある [設定] をクリックします。
  4. 左側のサイドバーで、 [Webhooks] をクリックします。
  5. [Webhook の追加] を選択します。
  6. [ペイロード URL] の下に、ペイロードを受信する URL を入力します。
  7. 必要に応じて、 [コンテンツ タイプ] ドロップダウン メニューを選び、Webhook ペイロードを受信するデータ形式をクリックします。
    • application/jsonは、JSONペイロードをPOSTリクエストのボディとして直接配信します。
    • application/x-www-form-urlencoded は、JSON ペイロードを payload というフォーム パラメーターとして送信します。payload
  8. 必要に応じて、 [シークレット] フィールドの下に、 secretキーとして使用する文字列を入力します。 エントロピーの高いランダムな文字列を選択してください。 Webhook シークレットを使用して、GitHub から発信されたリクエストのみに受信を制限することができます。 詳しくは、「Webhook 配信を検証する」をご覧ください。
  9. [この webhook をトリガーするイベントを指定してください]で、受信する Webhook の種類を選択します。 必要な Webhook イベントのみをサブスクライブしてください。
  10. 個別のイベントを選択する場合は、Webhook をトリガーするイベントを選択します。
  11. 構成を追加した直後に Webhook をアクティブにするには、 [アクティブ] を選びます。
  12. [Webhook の追加] を選択します。

新しい webhook を作成すると、 GitHub は webhook を正しく設定したことを知らせる単純な ping イベントを送信します。 詳しくは、「Webhook のイベントとペイロード」をご覧ください。

GitHub Marketplace ウェブフックの作成

webhook を作成して、 GitHub Marketplaceで発行したアプリに関連するイベントをサブスクライブできます。 GitHub Marketplace Webhook を作成できるのは、アプリの所有者、またはアプリのアプリ マネージャーだけです。

  1. GitHub Marketplace登録情報ページに移動します。
  2. Webhook 配信を表示するには、表示したい GitHub Marketplace listing の横にある リストの管理 をクリックします。
  3. サイドバーで、[Webhook] をクリックします。
  4. [ペイロード URL] の下に、ペイロードを受信する URL を入力します。
  5. 必要に応じて、 [コンテンツ タイプ] ドロップダウン メニューを選び、Webhook ペイロードを受信するデータ形式をクリックします。
    • application/jsonは、JSONペイロードをPOSTリクエストのボディとして直接配信します。
    • application/x-www-form-urlencoded は、JSON ペイロードを payload というフォーム パラメーターとして送信します。payload
  6. 必要に応じて、 [シークレット] フィールドの下に、 secretキーとして使用する文字列を入力します。 エントロピーの高いランダムな文字列を選択してください。 Webhook シークレットを使用して、GitHub から発信されたリクエストのみに受信を制限することができます。 詳しくは、「Webhook 配信を検証する」をご覧ください。
  7. 構成を追加した直後に Webhook をアクティブにするには、 [アクティブ] を選びます。
  8. [Webhook の作成] をクリックします。

新しい webhook を作成すると、 GitHub は webhook を正しく設定したことを知らせる単純な ping イベントを送信します。 詳しくは、「Webhook のイベントとペイロード」をご覧ください。

GitHub Sponsors Webhook の作成

スポンサーに関連するイベントに登録するWebhookを作成できます。 スポンサーされたアカウントのオーナーのみが、そのアカウントのスポンサー Webhook を作成できます。 スポンサー Webhook がサブスクライブしているイベントの詳細については、sponsorship「Webhook イベント」を参照してください。

  1. 任意のページで、右上隅にあるプロフィール画像をクリックし、次に [Your sponsors] をクリックします。
  2. Webhook を作成するアカウントの横にある [ダッシュボード] をクリックします。
  3. 左のサイドバーで、 [Webhooks] をクリックします。
  4. [Webhook の追加] を選択します。
  5. [ペイロード URL] の下に、ペイロードを受信する URL を入力します。
  6. 必要に応じて、 [コンテンツ タイプ] ドロップダウン メニューを選び、Webhook ペイロードを受信するデータ形式をクリックします。
    • application/jsonは、JSONペイロードをPOSTリクエストのボディとして直接配信します。
    • application/x-www-form-urlencoded は、JSON ペイロードを payload というフォーム パラメーターとして送信します。payload
  7. 必要に応じて、 [シークレット] フィールドの下に、 secretキーとして使用する文字列を入力します。 エントロピーの高いランダムな文字列を選択してください。 Webhook シークレットを使用して、GitHub から発信されたリクエストのみに受信を制限することができます。 詳しくは、「Webhook 配信を検証する」をご覧ください。
  8. 構成を追加した直後に Webhook をアクティブにするには、 [アクティブ] を選びます。
  9. [Webhook の作成] をクリックします。

GitHub App の Webhook の作成

GitHub Appの所有者は、アプリを webhook イベントにサブスクライブして、特定のイベントが発生するたびに通知を受け取ることができます。 アプリ所有者が GitHub Appのアプリ マネージャーを指定している場合、アプリ マネージャーはアプリを webhook イベントにサブスクライブすることもできます。 詳しくは、「GitHub Apps での Webhook の使用」をご覧ください。

各 GitHub App には 1 つの Webhook があります。 GitHub Appを登録するときに webhook を構成することも、既存のGitHub App登録の webhook 構成を編集することもできます。

GitHub Appを登録するときに Webhook を構成する方法の詳細については、GitHub アプリの登録 を参照してください。

既存の GitHub App 登録用に Webhook を構成するには:

  1. GitHub の任意のページの右上隅にある、自分のプロフィール写真をクリックします。

  2. アカウント設定にアクセスしてください。

    • 個人用アカウントが所有するアプリの場合は、[設定] をクリックします。
    • 組織が所有するアプリの場合:
      1. [自分の組織] をクリックします。
      2. 組織の右側にある [設定] をクリックします。
  3. 左側のサイドバーの [Developer settings] をクリックします。

  4. 左側のサイドバーで、 [GitHub Apps] をクリックします。

  5. Webhook を構成する GitHub App の横にある [ 編集] をクリックします。

  6. [Webhook] で [アクティブ] を選択します。

  7. [Webhook URL] にペイロードを受信する URL を入力します。

  8. 必要に応じて、 [Webhook シークレット] フィールドに secret キーとして使用する文字列を入力します。 エントロピーの高いランダムな文字列を選択してください。 webhook シークレットを使用して、受信要求を GitHubから送信された要求のみに制限できます。 詳しくは、「Webhook 配信を検証する」をご覧ください。

  9. [ 変更の保存] をクリックします

  10. サイドバーで、[アクセス許可とイベント] をクリックします。

  11. GitHub App の登録で選択できる具体的な Webhook イベントは、アプリに対して選択したアクセス許可の種類によって決まります。 まず、アプリに付与するアクセス許可を選択する必要があります。これで、そのアクセス許可のセットに関連する Webhook イベントにアプリをサブスクライブできます。

    セクション [リポジトリのアクセス許可]、[組織のアクセス許可]、[アカウントのアクセス許可] で、アプリがサブスクライブするイベントに必要なアクセス許可を選びます。 詳しくは、「GitHub アプリのアクセス許可の選択」をご覧ください。 アクセス許可を変更する際に考慮すべき事項の詳細については、「GitHub App登録の変更」を参照してください。

  12. 「Subscribe to Events」で、GitHub App が受信する Webhook イベントを選択します。

  13. [ 変更の保存] をクリックします

REST API を使用して、 GitHub Appの Webhook を作成することもできます。 詳しくは、「GitHub App Webhook の REST API エンドポイント」をご覧ください。

参考資料