GitLab ウェブフックイベント - AWS CodeBuild

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

GitLab ウェブフックイベント

ウェブフックフィルターグループを使用して、ビルドをトリガーする GitLab ウェブフックイベントを指定できます。たとえば、特定のブランチへの変更に対してのみビルドをトリガーするように指定できます。

ビルドをトリガーするウェブフックイベントを指定するには、ウェブフックフィルタグループを 1 つ以上作成できます。任意のフィルターグループが true と評価されると、ビルドがトリガーされます。これは、グループ内のすべてのフィルターが true と評価されたときに発生します。フィルタグループを作成する際、以下を指定します。

イベント

では GitLab、次のイベントを 1 つ以上選択できます。

  • PUSH

  • PULL_REQUEST_CREATED

  • PULL_REQUEST_UPDATED

  • PULL_REQUEST_MERGED

ウェブフックのイベントタイプは、X-GitLab-Event フィールドのヘッダーに含まれています。次の表に、X-GitLab-Event ヘッダー値がイベントタイプにマッピングされる方法を示します。Merge Request Hook ウェブフックイベントの場合、ペイロードの object_atttributes.actionにはマージリクエストタイプに関する追加情報が含まれます。

X-GitLab-Event ヘッダー値 object_atttributes.action イベントタイプ
Push Hook

該当なし

PUSH
Merge Request Hook

open

PULL_REQUEST_CREATED
Merge Request Hook

更新

PULL_REQUEST_UPDATED
Merge Request Hook

閉じる、マージ

PULL_REQUEST_MERGED

PULL_REQUEST_MERGED の場合、プルリクエストがスカッシュ戦略とマージされ、プルリクエストブランチが閉じられると、元のプルリクエストコミットは存在しなくなります。この場合、CODEBUILD_WEBHOOK_MERGE_COMMIT 環境変数には、圧縮されたマージコミットの識別子が含まれます。

1 つ以上のオプションフィルタ

フィルタを指定するには、正規表現を使用します。ビルドをトリガーするイベントでは、関連付けられているグループ内のすべてのフィルターが true と評価される必要があります。

ACTOR_ACCOUNT_ID (コンソール内の ACTOR_ID)

ウェブフックイベントは、 GitLab アカウント ID が正規表現パターンと一致するとビルドをトリガーします。この値は、ウェブフックフィルタペイロードの actor オブジェクトの account_id プロパティに表示されます。

HEAD_REF

ヘッドリファレンスが正規表現パターンと一致すると (refs/heads/branch-namerefs/tags/tag-name など)、ウェブフックイベントによってビルドがトリガーされます。HEAD_REF フィルタは、ブランチまたはタグについて Git 参照名を評価します。ブランチ名またはタグ名は、ウェブフックペイロードの push オブジェクトにある、new オブジェクトの name フィールドに表示されます。プルリクエストイベントの場合、ブランチ名はウェブフックペイロードの source オブジェクトにある、branch オブジェクトの name フィールドに表示されます。

BASE_REF

基本参照が正規表現パターンと一致すると、ビルドがウェブフックイベントでトリガーされます。BASE_REF フィルタは、プルリクエストイベントでのみ使用できます (例: refs/heads/branch-name)。BASE_REF フィルタは、ブランチの Git 参照名を評価します。ブランチ名は、ウェブフックペイロードの destination オブジェクトにある、branch オブジェクトの name フィールドに表示されます。

FILE_PATH

変更されたファイルのパスが正規表現パターンに一致すると、ビルドが Webhook イベントでトリガーされます。

COMMIT_MESSAGE

HEAD コミットメッセージが正規表現パターンに一致する場合に、Webhook はビルドをトリガーします。

注記

ウェブフックペイロードは、 GitLab リポジトリのウェブフック設定にあります。