筛选 GitHub 组织 webhook 事件(Amazon CloudFormation) - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

筛选 GitHub 组织 webhook 事件(Amazon CloudFormation)

要使用 Amazon CloudFormation 模板来筛选组织 webhook 事件,请使用 Amazon CodeBuild 项目的 ScopeConfiguration 属性。有关全局和组织 GitHub webhook 的更多信息,请参阅GitHub 全局和组织 webhook

注意

Amazon CloudFormation 不支持全局 webhook 和 GitHub Enterprise webhook。

Amazon CloudFormation 模板的以下 YAML 格式部分创建四个筛选条件组。当这些筛选条件组的其中一个或全部评估为 True 时触发构建:

  • 第一个筛选条件组使用与正则表达式 ^refs/heads/main$ 匹配的 Git 引用名称,指定由账户 ID 不为 12345 的 GitHub 用户在分支上创建或更新的拉取请求。

  • 第二个筛选条件组使用与正则表达式 READ_ME 匹配的 Git 引用名称,指定在名称与正则表达式 ^refs/heads/.* 匹配的文件上创建的推送请求。

  • 第三个筛选条件组指定一个推送请求,其中包含与正则表达式 \[CodeBuild\] 匹配的 HEAD 提交消息。

  • 第四个筛选条件组指定 GitHub Actions 工作流作业请求,其工作流名称与正则表达式 \[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 Scope: GITHUB_ORGANIZATION 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\]