GitHub Webhooksの設定ガイド
GitHubリポジトリのイベント(Push, Pull Request, Issue作成など)をCI/CDサーバーや社内ツールに確実に届ける方法です。
ステップ 1: Osirynでのエンドポイント作成
- Osirynダッシュボードの「エンドポイント」から新規作成を開きます。
- 送信元 (Source) として
GitHubを選択します。 - イベントを受け取るCIサーバー等(Jenkins, ArgoCD, Custom Bot)のURLを 転送先URL に入力します。
- 設定を保存し、発行された Relay URL (
https://relay.osiryn.com/ep_...) をコピーします。 - セキュリティタブで 署名シークレット を生成または入力しておきます(例:
my_super_secret_token)。
ステップ 2: GitHubリポジトリ側の設定
- GitHub上の対象リポジトリを開き、「Settings」 > 「Webhooks」タブに進みます。
- 「Add webhook」ボタンをクリックします。
- Payload URL に、Osirynでコピーした Relay URL を貼り付けます。
- Content type は通常
application/jsonを選択します。 - Secret に、ステップ1で設定した署名シークレット(
my_super_secret_token等)を入力します。 - 通知を受け取りたいイベント(Push events, Pull requests, Let me select individual events 等)を選択します。
- 「Add webhook」ボタンを押して保存します。
ステップ 3: テストと運用
保存と同時にGitHubから Ping イベントが送信されます。Osirynダッシュボードのログ画面で Ping イベントが正常に受信され、DELIVERED になっていることを確認してください。
🔰 GitHub Webhook署名の検証
GitHubは、シークレットを使ってペイロードのHMACを計算し、X-Hub-Signature-256 ヘッダーとして送信します。
Osirynで「送信元」を GitHub に設定し、正しくシークレットを入力していれば、このヘッダーを自動で検証(SHA256ハッシュの比較)し、安全なアクセスのみをリレーします。