

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

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

다음 지침에 따라 AWS Management Console을 사용하여 GitHub 웹후크 이벤트를 필터링합니다. GitHub 웹후크 이벤트 유형에 대한 자세한 내용은 [GitHub Webhook 이벤트](github-webhook.md) 섹션을 참조하세요.

**기본 소스 webhook 이벤트**에서 다음을 선택합니다. 이 섹션은 소스 리포지토리로 **GitHub 계정의 리포지토리**를 선택한 경우에만 사용할 수 있습니다.

1. 프로젝트를 생성할 때 **코드 변경이 이 리포지토리로 푸시될 때마다 다시 빌드**를 선택합니다.

1. **이벤트 유형**에서 하나 이상의 이벤트를 선택합니다.

1. 이벤트가 빌드를 트리거할 때를 필터링하려면 **Start a build under these conditions(다음 조건에서 빌드를 시작)**에서 하나 이상의 선택적 필터를 추가합니다.

1. 이벤트가 트리거되지 않을 때를 필터링하려면 **Don't start a build under these conditions(다음 조건에서 빌드를 시작하지 않음)**에서 하나 이상의 선택적 필터를 추가합니다.

1. 필요한 경우 **필터 그룹 추가**를 선택하여 다른 필터 그룹을 추가합니다.

 자세한 내용은 [빌드 프로젝트 만들기(콘솔)](create-project.md#create-project-console) 및 *AWS CodeBuild API 참조*의 [WebHookFilter](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_WebhookFilter.html)를 참조하세요.

이 예제에서는 Webhook 필터 그룹이 pull 요청에 대해서만 빌드를 트리거합니다.

![\[pull 요청에 대해서만 빌드를 트리거하는 웹후크 필터 그룹입니다.\]](http://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/images/pull-request-webhook-filter.png)


두 Webhook 필터 그룹을 사용하는 예제에서는 하나 또는 두 필터 그룹이 true로 평가되면 빌드가 트리거됩니다.
+ 첫 번째 필터 그룹은 정규식 `^refs/heads/main$`와 일치하는 Git 참조 이름과 `^refs/heads/branch1$`와 일치하는 헤드 참조를 갖는 브랜치에서 생성되거나 업데이트되거나 다시 열린 pull 요청을 지정합니다.
+ 두 번째 필터 그룹은 정규식 `^refs/heads/branch1$`와 일치하는 Git 참조 이름을 갖는 브랜치에서 push 요청을 지정합니다.

![\[두 필터 그룹의 예입니다.\]](http://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/images/pull-request-webhook-filter-head-base-regexes.png)


이 예제에서는 Webhook 필터 그룹이 태그 이벤트를 제외한 모든 요청에 대해 빌드를 트리거합니다.

![\[태그 이벤트를 제외한 모든 요청에 대해 빌드를 트리거하는 웹후크 필터 그룹입니다.\]](http://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/images/pull-request-webhook-filter-exclude.png)


이 예제에서는 Webhook 필터 그룹이 정규식 `^buildspec.*`와 일치하는 이름을 갖는 파일이 변경될 때만 빌드를 트리거합니다.

![\[파일이 지정된 정규식과 일치하는 이름을 갖는 경우에만 빌드를 트리거하는 웹후크 필터 그룹입니다.\]](http://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/images/pull-request-webhook-filter-file-name-regex.png)


이 예제에서 Webhook 필터 그룹은 파일이 `src` 또는 `test` 폴더에서 변경된 경우에만 빌드를 트리거합니다.

![\[파일이 지정된 폴더에서 변경된 경우에만 빌드를 트리거하는 웹후크 필터 그룹입니다.\]](http://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/images/pull-request-webhook-filter-file-name-combined-regex.png)


이 예제에서는 Webhook 필터 그룹이 계정 ID가 정규식 `actor-account-id`와 일치하는 지정된 GitHub 또는 GitHub Enterprise Server 사용자가 변경을 수행한 경우에만 빌드를 트리거합니다.

**참고**  
 GitHub 계정 ID를 확인하는 자세한 방법은 https://api.github.com/users/*user-name*을 참조하십시오. 여기서 *user-name*은 사용자의 GitHub 사용자 이름입니다.

![\[정규식과 일치하는 계정 ID를 가진 지정된 GitHub 사용자가 변경을 수행한 경우에만 빌드를 트리거하는 웹후크 필터 그룹입니다.\]](http://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/images/pull-request-webhook-filter-actor.png)


이 예제에서 webhook 필터 그룹은 헤드 커밋 메시지가 정규식 `\[CodeBuild\]`와 일치할 때 푸시 이벤트에 대한 빌드를 트리거합니다.

![\[헤드 커밋 메시지가 정규식과 일치할 때 푸시 이벤트에 대한 빌드를 트리거하는 웹후크 필터 그룹입니다.\]](http://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/images/pull-request-webhook-filter-commit-message.png)


이 예제에서는 웹후크 필터 그룹이 GitHub Action 워크플로 작업 이벤트에 대한 빌드만 트리거합니다.

**참고**  
CodeBuild는 웹후크에 **WORKFLOW\$1JOB\$1QUEUED** 이벤트 필터가 포함된 필터 그룹이 있는 경우에만 GitHub Action 워크플로 작업을 처리합니다.

![\[웹후크 필터 그룹은 GitHub Actions 워크플로 작업 이벤트에 대해서만 빌드를 트리거합니다.\]](http://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/images/github-actions-workflow-job-queued-no-highlight.png)


이 예제에서 웹후크 필터 그룹은 정규식 `CI-CodeBuild`와 일치하는 워크플로 이름에 대한 빌드를 트리거합니다.

![\[웹후크 필터 그룹은 정규식과 일치하는 워크플로 이름에 대한 빌드를 트리거합니다.\]](http://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/images/github-actions-workflow-job-specific.png)
