本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
篩選 GitHub 組織網路掛鉤事件 ()AWS CloudFormation
若要使用 AWS CloudFormation 範本來篩選組織 webhook 事件,請使用 AWS CodeBuild
專案的ScopeConfiguration
屬性。如需有關全域和組織 GitHub Webhook 的詳細資訊,請參閱GitHub 全球和組織網絡掛鉤。
注意
不支援全域網路掛鉤和 GitHub 企業網頁掛鉤。 AWS CloudFormation
範本的下列YAML格式化部分會建 AWS CloudFormation 立四個篩選群組。當一個或全部評估為 true 時,它們共同觸發構建:
-
第一個過濾器組指定在具有 Git 引 GitHub 用名稱匹配正則表達式的分支上創建或更新提取請求,
^refs/heads/main$
由沒有帳戶 ID 的用戶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 ScopeConfiguration: Name: organization-name 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\]