# Webhook の種類

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

## Webhook のタイプについて

Webhook は、リポジトリ、組織、 GitHub Enterprise、  、またはインストールされている GitHub App で使用可能なイベントにのみアクセスできます。

個々のユーザー アカウント、または個人の通知やメンションなどのユーザー リソースに固有のイベントに対して Webhook を作成することはできません。

Webhook を作成および管理するには、Webhook が作成され、イベントをリッスンしているリソースを所有しているか、そのリソースへの管理者アクセス権を持っている必要があります。 たとえば、組織内の Webhook を管理するには、その組織の管理者権限が必要です。

一部の Webhook イベントは、特定の種類の Webhook に固有です。 たとえば、組織の Webhook は、リポジトリ Webhook がサブスクライブできない組織レベルでのみ発生するイベントにサブスクライブできます。 各 Webhook 特有の可用性に関する詳細については、「[Webhook のイベントとペイロード](/ja/enterprise-server@3.22/webhooks/webhook-events-and-payloads)」を参照してください。

詳しくは、「[webhook について](/ja/enterprise-server@3.22/webhooks/about-webhooks)」をご覧ください。

## リポジトリウェブフック

リポジトリ内に Webhook を作成すると、そのリポジトリ内で発生するイベントにサブスクライブできます。 リポジトリに Webhook を作成するには、そのリポジトリのオーナーであるか、リポジトリの管理者アクセス権を持っている必要があります。 必要なアクセス許可がないリポジトリで Webhook を作成、編集、または削除することはできません。

1 つのリポジトリに複数の Webhook を作成できます。 ただし、各イベントタイプをサブスクライブする Webhook は、250 個までしか作成できません。 たとえば、1 つのリポジトリでは、 イベントを購読する異なる webhook を最大 20`push` 個までしか作成できません。

GitHub Web インターフェイスまたは REST API を使用して、リポジトリ Webhook を管理できます。 詳細については、「[webhookの作成](/ja/enterprise-server@3.22/webhooks/using-webhooks/creating-webhooks#creating-a-repository-webhook)」、「[webhookの編集](/ja/enterprise-server@3.22/webhooks/using-webhooks/editing-webhooks#editing-a-repository-webhook)」、「[Webhook を無効にする](/ja/enterprise-server@3.22/webhooks/using-webhooks/disabling-webhooks#disabling-a-repository-webhook)」を参照してください。 REST API を使用してリポジトリ Webhook を管理する方法の詳細については、「[リポジトリ ウェブフック の REST API エンドポイント](/ja/enterprise-server@3.22/rest/repos/webhooks)」を参照してください。

## 組織のウェブフック

組織内に Webhook を作成すると、その組織内で発生するイベントにサブスクライブできます。 組織の Webhook は、組織が所有するすべてのリポジトリで発生するイベントにサブスクライブできます。 また、新しいメンバーが組織に追加されたときなど、所定のリポジトリの外部にある組織レベルで発生するイベントにサブスクライブすることもできます。

組織で Webhook を作成および管理するには、その組織のオーナーである必要があります。

1 つの組織で複数の Webhook を作成できます。 ただし、各イベントタイプをサブスクライブする Webhook は、250 個までしか作成できません。 たとえば、1 つの組織では、 イベントを購読する Webhook を、それぞれ異なるものとして最大 20`push` 個までしか作成できません。

GitHub Web インターフェイスまたは REST API を使用して、組織の Webhook を管理できます。 詳細については、「[webhookの作成](/ja/enterprise-server@3.22/webhooks/using-webhooks/creating-webhooks#creating-an-organization-webhook)」、「[webhookの編集](/ja/enterprise-server@3.22/webhooks/using-webhooks/editing-webhooks#editing-an-organization-webhook)」、「[Webhook を無効にする](/ja/enterprise-server@3.22/webhooks/using-webhooks/disabling-webhooks#disabling-an-organization-webhook)」を参照してください。 REST API を使用して organization の Webhook を管理する方法の詳細については、「[組織の Webhook の REST API エンドポイント](/ja/enterprise-server@3.22/rest/orgs/webhooks)」を参照してください。

## GitHub Enterprise 用のグローバル Webhook

企業のオーナーは、グローバル Webhook を作成して、企業内で発生するイベント、組織内で発生するイベント、および企業が所有するリポジトリにサブスクライブできます。

1 つの企業で複数の Webhook を作成できます。 ただし、各イベントタイプをサブスクライブする Webhook は、250 個までしか作成できません。 たとえば、1つのエンタープライズでは、 イベントをサブスクライブする異なる webhook を 20`membership` 個までしか作成できません。

GitHub Web インターフェイスを使用して、グローバル Webhook を管理できます。 詳細については、「[webhookの作成](/ja/enterprise-server@3.22/webhooks/using-webhooks/creating-webhooks#creating-a-global-webhook-for-a-github-enterprise)」、「[webhookの編集](/ja/enterprise-server@3.22/webhooks/using-webhooks/editing-webhooks#editing-a-global-webhook-for-a-github-enterprise)」、「[Webhook を無効にする](/ja/enterprise-server@3.22/webhooks/using-webhooks/disabling-webhooks#disabling-a-global-webhook-for-a-github-enterprise)」を参照してください。 REST API を使用してグローバル Webhook を管理することもできます。 エンドポイントの完全な一覧については、「[グローバル Webhook の REST API エンドポイント](/ja/enterprise-server@3.22/rest/enterprise-admin/global-webhooks)」を参照してください。

## GitHub App webhooks

アプリに対するアクセス権が付与されているリポジトリまたは組織で特定のイベントが発生したときに Webhook を受信するように GitHub App を構成できます

各 GitHub App には、 GitHubによって自動的に作成される 1 つの Webhook があります。 既定では、Webhook はどのイベントにもサブスクライブしません。 Webhook がサブスクライブするイベントを構成できます。
GitHub App webhook は削除できませんが、webhook 配信の受信を停止するために無効にすることはできます。

GitHub Web インターフェイスまたは REST API を使用して、GitHub App Webhook を管理できます。 詳細については、「[webhookの作成](/ja/enterprise-server@3.22/webhooks/using-webhooks/creating-webhooks#creating-webhooks-for-a-github-app)」、「[webhookの編集](/ja/enterprise-server@3.22/webhooks/using-webhooks/editing-webhooks#editing-webhooks-for-a-github-app)」、「[Webhook を無効にする](/ja/enterprise-server@3.22/webhooks/using-webhooks/disabling-webhooks#disabling-webhooks-for-a-github-app)」を参照してください。 REST API を使用して webhook GitHub App 管理する方法の詳細については、 [GitHub App Webhook の REST API エンドポイント](/ja/enterprise-server@3.22/rest/apps/webhooks) を参照してください。