本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
篩選 GitLab Webhook 事件 (AWS CloudFormation)
若要使用 AWS CloudFormation 範本篩選 Webhook 事件,請使用 AWS CodeBuild 專案的 FilterGroups
屬性。如需 GitLab Webhook 事件的詳細資訊,請參閱 GitLab webhook 事件。
範本的 AWS CloudFormation 下列 YAML格式化部分會建立兩個篩選群組。當其中一個或兩個評估為 true 時,它們會一起觸發組建:
-
第一個篩選條件群組指定提取請求是在分支上建立或更新,其 Git 參考名稱與沒有帳戶 ID
^refs/heads/main$
GitLab 的使用者的規則表達式相符12345
。 -
第二個篩選群組指定分支上建立的推送請求,並且這些分支的 Git 參考名稱符合規則表達式
^refs/heads/.*
。 -
第三個篩選群組會指定其 head 提交訊息符合規則運算式
\[CodeBuild\]
的推送請求。 -
第四個篩選條件群組會指定工作流程名稱符合規則表達式 GitHub 的動作工作流程任務請求
\[CI-CodeBuild\]
。
CodeBuildProject: Type: AWS::CodeBuild::Project Properties: Name: MyProject ServiceRole:
service-role
Artifacts: Type: NO_ARTIFACTS Environment: Type: LINUX_CONTAINER ComputeType: BUILD_GENERAL1_SMALL Image: aws/codebuild/standard:5.0 Source: Type: GITLAB Location:source-location
Triggers: Webhook: true FilterGroups: - - Type: EVENT Pattern: PULL_REQUEST_CREATED,PULL_REQUEST_UPDATED - Type: BASE_REF Pattern: ^refs/heads/main$ ExcludeMatchedPattern: false - Type: ACTOR_ACCOUNT_ID Pattern: 12345 ExcludeMatchedPattern: true - - Type: EVENT Pattern: PUSH - Type: HEAD_REF Pattern: ^refs/heads/.* - - Type: EVENT Pattern: PUSH - Type: COMMIT_MESSAGE Pattern: \[CodeBuild\] - - Type: EVENT Pattern: WORKFLOW_JOB_QUEUED - Type: WORKFLOW_NAME Pattern: \[CI-CodeBuild\]