ウェブフックフィルタグループを使用して、ビルドをトリガーする GitLab ウェブフックイベントを指定できます。たとえば、特定のブランチへの変更に対してのみビルドをトリガーするように指定できます。
ビルドをトリガーするウェブフックイベントを指定するには、ウェブフックフィルタグループを 1 つ以上作成できます。任意のフィルターグループが true と評価されると、ビルドがトリガーされます。これは、グループ内のすべてのフィルターが true と評価されたときに発生します。フィルタグループを作成する際、以下を指定します。
- イベント
-
GitLab では、次のイベントのうち、1 つ以上を選択できます:
PUSH
、PULL_REQUEST_CREATED
、PULL_REQUEST_UPDATED
、PULL_REQUEST_MERGED
、PULL_REQUEST_REOPENED
、PULL_REQUEST_CLOSED
、RELEASED
、WORKFLOW_JOB_QUEUED
。ウェブフックのイベントタイプは、
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
close、merge
PULL_REQUEST_MERGED
Merge Request Hook
再オープンする
PULL_REQUEST_REOPENED
Merge Request Hook
close
PULL_REQUEST_CLOSED
Release Hook
create、update
RELEASED
Job Hook
該当なし
WORKFLOW_JOB_QUEUED
PULL_REQUEST_MERGED
の場合、プルリクエストがスカッシュ戦略とマージされ、プルリクエストブランチが閉じられると、元のプルリクエストコミットは存在しなくなります。この場合、CODEBUILD_WEBHOOK_MERGE_COMMIT
環境変数には、圧縮されたマージコミットの識別子が含まれます。 - 1 つ以上のオプションフィルタ
-
フィルタを指定するには、正規表現を使用します。ビルドをトリガーするイベントでは、関連付けられているグループ内のすべてのフィルターが true と評価される必要があります。
ACTOR_ACCOUNT_ID
(コンソール内のACTOR_ID
)-
GitLab アカウント ID が正規表現パターンと一致すると、ビルドがウェブフックイベントでトリガーされます。この値は、ウェブフックフィルタペイロードの
actor
オブジェクトのaccount_id
プロパティに表示されます。 HEAD_REF
-
ヘッドリファレンスが正規表現パターンと一致すると (
refs/heads/branch-name
とrefs/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 はビルドをトリガーします。
WORKFLOW_NAME
-
ワークフロー名が正規表現パターンに一致する場合に、ウェブフックはビルドをトリガーします。
注記
ウェブフックペイロードは、GitLab リポジトリのウェブフック設定で見つかります。