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

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

We've recently moved some of the REST API documentation. If you can't find what you're looking for, you might try the new Branches, Collaborators, Commits, Deploy Keys, Deployments, GitHub Pages, Releases, Metrics, Webhooks REST API pages.

webhook

webhooks APIを使うと、リポジトリのwebhookの作成と管理ができます。

リポジトリwebhookを使用すると、リポジトリで特定のイベントが発生するとき必ずHTTP POST ペイロードを受け取ることができます。 The webhook REST APIs enable you to manage repository, organization, and app webhooks. You can also use the REST API to change the configuration of the webhook. たとえば、ペイロードURL、コンテントタイプ、SSLの検証、シークレットを変更できます。 詳しい情� �については、以下を参照してく� さい。

Organization のすべてのリポジトリからイベントを受信するため単一の webhook を設定する� �合は、Organization Webhooks の API ドキュメントを参照してく� さい。

REST APIに� えて、GitHubはリポジトリのPubSubHubbubハブとしても動作します。

webhook の受信

GitHub Enterprise Server で webhook ペイロードを送信するには、インターネットからサーバーにアクセスできる必要があります。 暗号化されたペイロードを HTTPS 経由で送信できるように、SSL の使用も強く推奨します。

webhook ヘッダー

GitHub Enterprise Server は、イベントタイプとペイロード識別子を区別するために、複数の HTTP ヘッダーも送信します。 詳細は「webhook ヘッダー」を参照してく� さい。

PubSubHubbub

GitHub は、すべてのリポジトリに対する PubSubHubbub のハブとして機能することもできます。 PSHB はシンプルな公開/サブスクライブプロトコルで、トピックが更新されたときにサーバーが更新を受信できるよう登録できます。 更新は HTTP POST リクエストでコールバック URL に送信されます。 GitHub リポジトリのプッシュに対するトピック URL のフォーマットは以下の通りです。

https://github.com/{owner}/{repo}/events/{event}

イベントには、任意の使用可能な webhook イベントを指定します。 詳しい情� �については、「webhook イベントとペイロード」を参照してく� さい。

レスポンスのフォーマット

デフォルトのフォーマットは、既存の post-receive フックから予想できます。すなわち、POST で payload パラメータとして送信される JSON の本文です。 また、Accept ヘッダまたは .json 拡張子で、Raw 形式の JSON 本文を受信するよう指定できます。

Accept: application/json
https://github.com/{owner}/{repo}/events/push.json

コールバック URL

コールバック URL は http:// プロトコルを使用できます。

# Send updates to postbin.org
http://postbin.org/123

サブスクライブ

GitHub PubSubHubbub のエンドポイントは http(s)://[hostname]/api/v3/hub です。 curl でリクエストに成功すると、以下のように表示されます。

curl -u "user" -i \
  http(s)://[hostname]/api/v3/hub \
  -F "hub.mode=subscribe" \
  -F "hub.topic=https://github.com/{owner}/{repo}/events/push" \
  -F "hub.callback=http://postbin.org/123"

PubSubHubbub リクエストは複数回送信できます。 フックがすでに存在する� �合は、リクエストに従って変更されます。

パラメータ

名前種類説明
hub.modestring必� �subscribe または unsubscribe
hub.topicstring必� �。 GitHub リポジトリがサブスクライブする URI。 パスのフォーマットは /{owner}/{repo}/events/{event} としてく� さい。
hub.callbackstringトピックの更新を受信する URI。
hub.secretstring送信する本文コンテンツの ハッシュ署名を生成する共有秘密鍵。 GitHubからきたプッシュを、そのリクエストのボディをX-Hub-SignatureもしくはX-Hub-Signature-256ヘッダと比較して、検証できます。 詳細は、 PubSubHubbub のドキュメントを参照してく� さい。