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

筛选 GitLab 组 webhook 事件(Amazon CloudFormation)

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

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

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

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

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

  • 第四个筛选条件组指定 GitLab CI/CD 管线作业请求,其 CI/CD 管线名称与正则表达式 \[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 ScopeConfiguration: Name: group-name Scope: GITLAB_GROUP 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\]