Bitbucket Webhook 이벤트 필터링(CloudFormation) - AWS CodeBuild

Bitbucket Webhook 이벤트 필터링(CloudFormation)

CloudFormation 템플릿을 사용하여 Webhook 이벤트를 필터링하려면 AWS CodeBuild 프로젝트의 FilterGroups 속성을 사용합니다. 다음 CloudFormation 템플릿의 YAML 형식 부분은 두 개의 필터 그룹을 생성합니다. 이들은 하나 또는 둘 모두 true로 평가되면 빌드를 트리거합니다.

  • 첫 번째 필터 그룹은 계정 ID가 ^refs/heads/main$와 일치하지 않는 Bitbucket 사용자가 정규식 12345와 일치하는 Git 참조 이름을 갖는 브랜치에서 생성 또는 업데이트한 pull 요청을 지정합니다.

  • 두 번째 필터 그룹은 정규식 ^refs/heads/.*와 일치하는 Git 참조 이름을 갖는 브랜치에서 생성되는 push 요청을 지정합니다.

  • 세 번째 필터 그룹은 정규식 \[CodeBuild\]와 일치하는 헤드 커밋 메시지에서 push 요청을 지정합니다.

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: BITBUCKET 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/.+