篩選 GitHub Webhook 事件 (AWS CloudFormation) - AWS CodeBuild

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

篩選 GitHub Webhook 事件 (AWS CloudFormation)

若要使用 AWS CloudFormation 範本篩選 Webhook 事件,請使用 AWS CodeBuild 專案的 FilterGroups 屬性。

如需 GitHub Webhook 事件的詳細資訊,請參閱 GitHub webhook 事件

範本的 AWS CloudFormation 下列 YAML格式化部分會建立兩個篩選群組。當其中一個或兩個評估為 true 時,它們會一起觸發組建:

  • 第一個篩選條件群組指定提取請求是在分支上建立或更新,其 Git 參考名稱與沒有帳戶 ID ^refs/heads/main$ GitHub 的使用者的規則表達式相符12345

  • 第二個篩選群組指定在分支中的檔案上建立的推送請求,並且這些檔案的名稱符合規則表達式 READ_ME,而分支的 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: GITHUB 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: FILE_PATH Pattern: READ_ME ExcludeMatchedPattern: true - - Type: EVENT Pattern: PUSH - Type: COMMIT_MESSAGE Pattern: \[CodeBuild\] - Type: FILE_PATH Pattern: ^src/.+|^test/.+ - - Type: EVENT Pattern: WORKFLOW_JOB_QUEUED - Type: WORKFLOW_NAME Pattern: \[CI-CodeBuild\]