Filtrar eventos de webhook organizacional no GitHub (CloudFormation)
Para usar um modelo do CloudFormation para filtrar eventos de webhook organizacional, use a propriedade ScopeConfiguration do projeto do AWS CodeBuild. Para obter mais informações sobre webhooks globais e organizacionais do GitHub, consulte Webhooks globais e organizacionais do GitHub.
nota
Webhooks globais e webhooks do GitHub Enterprise não são compatíveis com o CloudFormation.
A seguinte parte formatada em YAML de um modelo do CloudFormation cria quatro grupos de filtros. Juntos, eles acionarão uma compilação quando um ou todos forem avaliados como verdadeiro:
-
O primeiro grupo de filtros especifica que as solicitações pull sejam criadas ou atualizadas nas ramificações com nomes de referência do Git que correspondem à expressão regular
^refs/heads/main$por um usuário do GitHub que não tem o ID de conta12345. -
O segundo grupo de filtros especifica que as solicitações push sejam criadas em arquivos com nomes que correspondem à expressão regular
READ_ME, em ramificações com nomes de referência do Git que correspondem à expressão regular^refs/heads/.*. -
O terceiro grupo de filtros especifica uma solicitação push com uma mensagem de confirmação head correspondente à expressão regular
\[CodeBuild\]. -
O quarto grupo de filtros especifica uma solicitação de trabalho do fluxo de trabalho do GitHub Actions com um nome de fluxo de trabalho correspondente à expressão regular
\[CI-CodeBuild\].
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\]