

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# GitHub Webhook 이벤트 필터링(CloudFormation)
<a name="github-webhook-events-cfn"></a>

 CloudFormation 템플릿을 사용하여 웹후크 이벤트를 필터링하려면 AWS CodeBuild 프로젝트의 `FilterGroups` 속성을 사용합니다.

GitHub 웹후크 이벤트 유형에 대한 자세한 내용은 [GitHub Webhook 이벤트](github-webhook.md) 섹션을 참조하세요.

다음 CloudFormation 템플릿의 YAML 형식 부분은 두 개의 필터 그룹을 생성합니다. 이들은 하나 또는 둘 모두 true로 평가되면 빌드를 트리거합니다.
+  첫 번째 필터 그룹은 계정 ID가 `12345`와 일치하지 않는 GitHub 사용자가 정규식 `^refs/heads/main$`와 일치하는 Git 참조 이름을 갖는 브랜치에서 생성 또는 업데이트한 pull 요청을 지정합니다.
+  두 번째 필터 그룹은 정규식 `^refs/heads/.*`와 일치하는 Git 참조 이름을 갖는 브랜치에서 정규식 `READ_ME`와 일치하는 이름을 갖는 파일에 생성되는 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
      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\]
```