Filtrar eventos de webhook organizacional no GitHub (CloudFormation) - AWS CodeBuild

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 conta 12345.

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