GitHub 조직 웹후크 이벤트 필터링(CloudFormation) - AWS CodeBuild

GitHub 조직 웹후크 이벤트 필터링(CloudFormation)

CloudFormation 템플릿을 사용하여 조직 웹후크 이벤트를 필터링하려면 AWS CodeBuild 프로젝트의 ScopeConfiguration 속성을 사용합니다. 글로벌 및 조직 GitHub 웹후크에 대한 자세한 내용은 GitHub 글로벌 및 조직 웹후크 섹션을 참조하세요.

참고

글로벌 웹후크 및 GitHub Enterprise 웹후크는 CloudFormation에서 지원되지 않습니다.

다음 CloudFormation 템플릿의 YAML 형식 부분은 네 개의 필터 그룹을 생성합니다. 이들은 하나 또는 모두 true로 평가되면 빌드를 트리거합니다.

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

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

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

  • 네 번째 필터 그룹은 정규식 \[CI-CodeBuild\]와 일치하는 워크플로 이름을 가진 GitHub Action 워크플로 작업 요청을 지정합니다.

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\]