Filtrar eventos de GitHub webhook () SDK - AWS CodeBuild

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Filtrar eventos de GitHub webhook () SDK

Para usar o AWS CodeBuild SDK para filtrar eventos de webhook, use o filterGroups campo na sintaxe de solicitação dos métodos CreateWebhook ou UpdateWebhookAPI. Para obter mais informações, consulte WebhookFilterna CodeBuild APIReferência.

Para obter mais informações sobre eventos de GitHub webhook, consulteGitHub eventos de webhook.

Para criar um filtro de webhook que acione uma compilação apenas para solicitações pull, insira o seguinte na sintaxe de solicitação:

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

Para criar um filtro de webhook que acione uma compilação apenas para ramificações especificadas, use o parâmetro pattern para especificar uma expressão regular a fim de filtrar os nomes da ramificação. Usando um exemplo de dois grupos de filtros, uma compilação será acionada quando um ou ambos forem avaliados como verdadeiro:

  • O primeiro grupo de filtros especifica as solicitações pull que são criadas, atualizadas ou reabertas nas ramificações com nomes de referência do Git que correspondam à expressão regular ^refs/heads/main$ e referências head que correspondam a ^refs/heads/myBranch$.

  • O segundo grupo de filtros especifica solicitações push em ramificações com nomes de referência do Git que correspondam à expressão regular ^refs/heads/myBranch$.

"filterGroups": [ [ { "type": "EVENT", "pattern": "PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED" }, { "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$" } ] ]

Você pode usar o parâmetro excludeMatchedPattern para especificar quais eventos não acionam uma compilação. Por exemplo, um compilação é acionada para todas as solicitações, com exceção de eventos de tag.

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

Você pode criar um filtro que acionará uma compilação apenas quando arquivos com nomes que correspondam à expressão regular no argumento pattern forem alterados. Neste exemplo, o grupo de filtros especifica que uma compilação será acionada apenas quando arquivos com um nome que corresponda à expressão regular ^buildspec.* forem alterados.

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

Neste exemplo, um grupo de filtros especifica que uma compilação seja acionada somente quando os arquivos são alterados nas pastas src ou test.

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

Você pode criar um filtro que aciona uma compilação somente quando uma alteração é feita por um usuário especificado GitHub ou do GitHub Enterprise Server com ID da conta. actor-account-id

nota

Para obter informações sobre como encontrar o ID GitHub da sua conta, consulte https://api.github.com/users/user-nameem que, user-name é o seu nome de GitHub usuário.

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

É possível criar um filtro que aciona uma compilação somente quando a mensagem de confirmação head corresponde à expressão regular no argumento padrão. Neste exemplo, o grupo de filtros especifica que uma compilação é acionada somente quando a mensagem de confirmação head do evento de push corresponde à expressão regular \[CodeBuild\].

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

Para criar um filtro de webhook que acione uma compilação somente para trabalhos de fluxo de trabalho do GitHub Actions, insira o seguinte na sintaxe da solicitação:

"filterGroups": [ [ { "type": "EVENT", "pattern": "WORKFLOW_JOB_QUEUED" } ] ]