このページでは、Secure Source Manager でウェブフックを設定する方法について説明します。
Webhook は、Secure Source Manager のイベントによってトリガーされ、ユーザーが指定した URL に送信される HTTP リクエストです。
始める前に
必要なロール
Webhook の作成に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
- 
  
  
    
      Secure Source Manager リポジトリに対する Secure Source Manager リポジトリ管理者 (roles/securesourcemanager.repoAdmin)
- 
  
  
    
      Secure Source Manager インスタンスに対する Secure Source Manager インスタンス アクセサー (roles/securesourcemanager.instanceAccessor)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Secure Source Manager のロールの付与については、IAM によるアクセス制御とユーザーにインスタンスへのアクセス権を付与するをご覧ください。
Webhook を設定する
- Secure Source Manager ウェブ インターフェースで、Webhook を作成するリポジトリに移動します。
- [設定] をクリックします。
- [Webhook] をクリックし、[Webhook を追加] をクリックします。
- [フック ID] フィールドに、Webhook の ID を入力します。 
- [ターゲット URL] フィールドに、Webhook URL を入力します。たとえば、Jenkins でビルドをトリガーする場合は、Webhook トリガーを設定してから、Jenkins トリガー URL をここに入力して、Jenkins でビルドをトリガーします。 
- Webhook URL に、Webhook トリガーの作成時に入力したキーとシークレットの値が含まれている場合は、ターゲット URL の末尾から削除して、[機密性の高いクエリ文字列] フィールドにコピーします。 - Webhook URL でキーとシークレットを見つけるには、 - key=で始まるテキストを探します。- たとえば、次の URL があるとします。 - https://cloudbuild.googleapis.com/v1/projects/my-project/triggers/test-trigger:webhook?key=eitIfKhYnv0LrkdsyHqIros8fbsheKRIslfsdngf&secret=Hello%20Secret%20Manager- [Target URL] フィールドから、疑問符 - ?key=...で始まる部分をコピーして削除します。次に、最初の疑問符を削除し、残りの部分- key=...を [機密性の高いクエリ文字列] フィールドに移動します。
- [トリガー] セクションで、次のいずれかを選択します。 - Push: リポジトリへの push でトリガーします。
- Pull request state changed: プルリクエストの状態が変更されたときにトリガーします。
 
- [Push] を選択した場合は、[ブランチ フィルタ] フィールドに push イベントの許可リストを入力できます。 - [ブランチ フィルタ] フィールドでは glob パターンが使用され、一致するブランチに対するオペレーションのみがビルドトリガーを発生させます。フィールドが空または - *の場合、すべてのブランチの push イベントが報告されます。構文については、glob のドキュメントをご覧ください。
- [Add webhook] をクリックします。 
- Webhook が [Webhook] ページに表示されます。 
Webhook をテストする
- Secure Source Manager の [Webhook] ページで、テストする Webhook をクリックします。
- ページの一番下までスクロールし、[テスト配信] をクリックします。 - プレースホルダ イベントが配信キューに追加されます。配信履歴に表示されるまで数秒かかることがあります。 
- gitコマンドを使用して、プルリクエストを push またはマージして、Webhook をテストすることもできます。
- Webhook トリガーを構成したサービスのビルド履歴で、トリガーされたビルドまたはイベントのステータスを確認します。 
- 最初のテスト配信を送信すると、Secure Source Manager のウェブフック ページの [最近の配信] セクションで、テスト配信のリクエストとレスポンスを確認することもできます。 
Cloud Build YAML 変数をペイロード データに置き換える
Webhook を使用して Cloud Build に接続している場合は、Cloud Build YAML 変数を Secure Source Manager Webhook ペイロード データに置き換えることができます。
- Secure Source Manager の [Webhook] ページの [最近の配信] セクションで、最上行をクリックします。 - Webhook ペイロードによって送信されたリクエスト ヘッダーとコンテンツが表示されます。 
- Cloud Build ダッシュボードに移動し、[トリガー] をクリックします。 
- 設定するトリガーをクリックします。 
- [詳細設定] セクションの [代入変数] で、[+ 変数を追加] をクリックします。 
- 変数の名前と値を入力します。値の接頭辞は - bodyです。- たとえば、Cloud Build YAML で - _REPO_URLをペイロード データ フィールド- repository.clone_urlに、- _COMMIT_SHAを最新の commit sha に置き換えるには、次の名前と値を入力します。- 変数 1: _REPO_URL値 1:$(body.repository.clone_url)
- 変数 2: _COMMIT_SHA値 2:$(body.after)
 - Cloud Build YAML ファイルは次のようになります。 - steps: - name: gcr.io/cloud-builders/git env: - '_REPO_URL=$_REPO_URL' - '_COMMIT_SHA=$_COMMIT_SHA' script: | #!/bin/sh git clone ${_REPO_URL} /workspace cd /workspace git reset --hard ${_COMMIT_SHA}
- 変数 1: