Filtrar eventos de webhook do Bitbucket (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 webhook do Bitbucket (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 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_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 ou atualizadas 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_CLOSED" }, { "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. Neste 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_MERGED, PULL_REQUEST_CLOSED" }, { "type": "HEAD_REF", "pattern": "^refs/tags/.*", "excludeMatchedPattern": true } ] ]

Você pode criar um filtro que acione uma compilação somente quando uma alteração é feita por um usuário do Bitbucket com ID da conta actor-account-id.

nota

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

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

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/.+" } ] ]

É 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\]" } ] ]