AWS Management Console を使用してウェブフックイベントをフィルタリングするには、次の手順を使用します。GitLab ウェブフックイベントの詳細については、「GitLab ウェブフックイベント」を参照してください。
-
プロジェクトの作成時に [コードの変更がこのレポジトリにプッシュされるたびに再構築する] を選択します。
-
[イベントタイプ] から、1 つ以上のイベントを選択します。
-
イベントでビルドをトリガーされた時間をフィルタリングするには、[これらの条件でビルドを開始する] で、1 つ以上のオプションフィルタを追加します。
-
イベントがトリガーされていない時間をフィルタリングするには、[これらの条件でビルドを開始しない] で、1 つ以上のオプションフィルタを追加します。
-
別のフィルタグループを追加するには、[フィルタグループの追加] を選択します。
詳細については、「AWS CodeBuild API リファレンス」の「ビルドプロジェクトの作成 (コンソール)」および「WebhookFilter」を参照してください。
この例では、ウェブフックフィルタグループは、プルリクエストに対してのみビルドをトリガーします。
![プルリクエストのみのビルドをトリガーするウェブフックフィルタグループ。](images/pull-request-webhook-filter-gitlab.png)
2 つのフィルタグループの例を使用した場合、ビルドは一方または両方が true と評価されるとトリガーされます。
-
最初のフィルタグループでは、正規表現
^refs/heads/main$
に一致する Git 参照と^refs/heads/branch1!
に一致するヘッド参照を含むブランチで作成または更新されたプルリクエストを指定します。 -
2 番目のフィルタグループでは、正規表現
^refs/heads/branch1$
に一致する Git 参照を含むブランチでプッシュリクエストを指定します。
![2 つのフィルタグループの例です。](images/pull-request-webhook-filter-head-base-regexes-gitlab.png)
この例では、ウェブフックフィルタグループは、タグイベントを除くすべてのリクエストに対してビルドをトリガーします。
![タグイベントを除くすべてのリクエストに対してビルドをトリガーする、ウェブフックフィルタグループです。](images/pull-request-webhook-filter-exclude-gitlab.png)
この例では、ウェブフックフィルタグループは、正規表現 ^buildspec.*
に一致する名前のファイルが変更された場合にのみビルドをトリガーします。
![指定された正規表現に一致する名前のファイルに対してのみビルドをトリガーする、ウェブフックフィルタグループです。](images/pull-request-webhook-filter-file-name-regex-gitlab.png)
この例で、Webhook フィルターグループは、ファイルが src
または test
フォルダーで変更された場合にのみ、ビルドをトリガーします。
![指定されたフォルダ内でファイルが変更された場合にのみビルドをトリガーする、ウェブフックフィルタグループです。](images/pull-request-webhook-filter-file-name-combined-regex-gitlab.png)
この例では、正規表現 actor-account-id
と一致するアカウント ID を持たない GitLab ユーザーが変更を行った場合にのみ、ウェブフックフィルタグループがビルドをトリガーします。
注記
GitLab アカウント ID の検索方法については、「https://api.github.com/users/user-name
」を参照してください。ここで、user-name
は、GitLab のユーザー名を表します。
![アカウント ID を持たない GitLab ユーザーが変更を行った場合にのみビルドをトリガーする、ウェブフックフィルタグループです。](images/pull-request-webhook-filter-actor-gitlab.png)
この例では、HEAD コミットメッセージが正規表現 \[CodeBuild\]
に一致する場合に、Webhook フィルタグループがプッシュイベントのビルドをトリガーします。
![HEAD コミットメッセージが正規表現に一致する場合に、プッシュイベントのビルドをトリガーするウェブフックフィルタグループです。](images/pull-request-webhook-filter-commit-message-gitlab.png)