GitLab 웹후크 이벤트 필터링(SDK) - AWS CodeBuild

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

GitLab 웹후크 이벤트 필터링(SDK)

를 AWS CodeBuild SDK 사용하여 웹후크 이벤트를 필터링하려면 CreateWebhook 또는 UpdateWebhook API 메서드의 요청 구문에서 filterGroups 필드를 사용합니다. 자세한 내용은 참조WebhookFilter의 섹션을 참조하세요. CodeBuild API

GitLab 웹후크 이벤트에 대한 자세한 내용은 섹션을 참조하세요GitLab 웹후크 이벤트.

pull 요청에 대해서만 빌드를 트리거하는 Webhook 필터를 생성하려면 요청 구문에 다음을 삽입합니다.

"filterGroups": [ [ { "type": "EVENT", "pattern": "PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_MERGED" } ] ]

지정된 브랜치에 대해서만 빌드를 트리거하는 Webhook 필터를 생성하려면 pattern 파라미터를 사용하여 브랜치 이름을 필터링하는 정규식을 지정합니다. 두 필터 그룹을 사용하는 예제에서는 하나 또는 두 필터 그룹이 true로 평가되면 빌드가 트리거됩니다.

  • 첫 번째 필터 그룹은 정규식 ^refs/heads/main$와 일치하는 Git 참조 이름과 ^refs/heads/myBranch$와 일치하는 헤드 참조를 갖는 브랜치에서 생성 또는 업데이트된 pull 요청을 지정합니다.

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

"filterGroups": [ [ { "type": "EVENT", "pattern": "PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED" }, { "type": "HEAD_REF", "pattern": "^refs/heads/myBranch$" }, { "type": "BASE_REF", "pattern": "^refs/heads/main$" } ], [ { "type": "EVENT", "pattern": "PUSH" }, { "type": "HEAD_REF", "pattern": "^refs/heads/myBranch$" } ] ]

excludeMatchedPattern 파라미터를 사용하여 빌드를 트리거하지 않을 이벤트를 지정할 수 있습니다. 이 예제에서는 태그 이벤트를 제외한 모든 요청에 대해 빌드가 트리거됩니다.

"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_MERGED" }, { "type": "HEAD_REF", "pattern": "^refs/tags/.*", "excludeMatchedPattern": true } ] ]

계정 ID가 인 사용자가 변경한 경우에만 빌드를 GitLab 트리거하는 필터를 생성할 수 있습니다actor-account-id.

참고

GitLab 계정 ID를 찾는 방법에 대한 자세한 내용은 섹션을 참조하세요. https://api.github.com/users/ user-name, 여기서 user-name 는 GitLab 사용자 이름입니다.

"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_MERGED" }, { "type": "ACTOR_ACCOUNT_ID", "pattern": "actor-account-id" } ] ]

pattern 인수의 정규식과 일치하는 이름을 갖는 파일이 변경되는 경우에만 빌드를 트리거하는 필터를 생성할 수 있습니다. 이 예제에서는 필터 그룹이 정규식 ^buildspec.*와 일치하는 이름을 갖는 파일이 변경될 때만 빌드가 트리거되도록 지정합니다.

"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH" }, { "type": "FILE_PATH", "pattern": "^buildspec.*" } ] ]

이 예제에서 필터 그룹은 파일이 src 또는 test 폴더에서 변경될 때만 빌드가 트리거되도록 지정합니다.

"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH" }, { "type": "FILE_PATH", "pattern": "^src/.+|^test/.+" } ] ]

헤드 커밋 메시지가 패턴 인수의 정규식과 일치할 때만 빌드를 트리거하는 필터를 생성할 수 있습니다. 이 예제에서 필터 그룹은 푸시 이벤트의 헤드 커밋 메시지가 정규식 \[CodeBuild\]와 일치할 때만 빌드가 트리거되도록 지정합니다.

"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH" }, { "type": "COMMIT_MESSAGE", "pattern": "\[CodeBuild\]" } ] ]