本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
篩選 GitLab Webhook 事件 (SDK)
若要使用 AWS CodeBuild SDK篩選 Webhook 事件,請使用 CreateWebhook
或 UpdateWebhook
API方法請求語法中的 filterGroups
欄位。如需詳細資訊,請參閱 參考 WebhookFilter 中的 。 CodeBuild API
如需 GitLab Webhook 事件的詳細資訊,請參閱 GitLab webhook 事件。
若要建立 Webhook 篩選條件來只針對提取請求觸發組建,請在請求語法插入以下程式碼:
"filterGroups": [ [ { "type": "EVENT", "pattern": "PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_MERGED" } ] ]
若要建立 Webhook 篩選條件來只針對指定的分支觸發組建,請使用 pattern
參數指定規則表達式來篩選分支名稱。在有兩個篩選群組的範例中,當一個或兩個篩選群組評估為 true 時,就會觸發組建:
-
第一個篩選群組指定在分支上建立或更新的提取請求,並且這些分支的 Git 參考名稱符合規則表達式
^refs/heads/main$
,而標頭參考符合^refs/heads/myBranch$
。 -
第二個篩選群組在分支上指定推送請求,並且這些分支的 Git 參考名稱符合規則表達式
^refs/heads/myBranch$
。
"filterGroups": [ [ { "type": "EVENT", "pattern": "PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED" }, { "type": "HEAD_REF", "pattern": "^refs/heads/myBranch$" }, { "type": "BASE_REF", "pattern": "^refs/heads/main$" } ], [ { "type": "EVENT", "pattern": "PUSH" }, { "type": "HEAD_REF", "pattern": "^refs/heads/myBranch$" } ] ]
您可以使用 excludeMatchedPattern
參數來指定哪些事件不會觸發組建。在這個範例中,將針對所有請求 (標籤事件除外) 觸發組建。
"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_MERGED" }, { "type": "HEAD_REF", "pattern": "^refs/tags/.*", "excludeMatchedPattern": true } ] ]
您可以建立篩選條件,只有在帳戶 ID 為 的使用者進行 GitLab變更時,才會觸發建置actor-account-id
。
注意
如需有關如何尋找 GitLab 帳戶 ID 的資訊,請參閱 https://api.github.com/users/user-name
其中,user-name
是您的 GitLab 使用者名稱。
"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_MERGED" }, { "type": "ACTOR_ACCOUNT_ID", "pattern": "actor-account-id" } ] ]
您可以建立篩選條件來指定只有在檔案名稱符合 pattern
引數中的規則表達式的檔案變更時,才觸發組建。在這個範例中,篩選群組指定只有在檔案名稱符合規則表達式 ^buildspec.*
的檔案變更時,才觸發組建。
"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH" }, { "type": "FILE_PATH", "pattern": "^buildspec.*" } ] ]
在此範例中,篩選條件群組會指定只有在 src
或 test
資料夾變更檔案時才會觸發建置。
"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH" }, { "type": "FILE_PATH", "pattern": "^src/.+|^test/.+" } ] ]
您可以建立篩選條件,只有在 head 提交訊息符合模式引數中的規則運算式時,才觸發組建。在這個範例中,篩選群組指定只有在推送事件的 head 遞交訊息符合規則表達式 \[CodeBuild\]
時,才觸發組建。
"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH" }, { "type": "COMMIT_MESSAGE", "pattern": "\[CodeBuild\]" } ] ]