

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á.

# GitLab webhooks em grupo
<a name="gitlab-group-webhook"></a>

Você pode usar webhooks de CodeBuild GitLab grupo para iniciar compilações em eventos de webhook de qualquer repositório dentro de um grupo. GitLab Os webhooks de grupo funcionam com qualquer um dos tipos de eventos de GitLab webhook existentes e podem ser configurados adicionando uma configuração de escopo ao criar um webhook. CodeBuild Você também pode usar webhooks de grupo para [configurar GitLab executores auto-hospedados a fim de receber `WORKFLOW_JOB_QUEUED` eventos de vários repositórios CodeBuild em](gitlab-runner.md) um único projeto.

**Topics**
+ [Configurar um GitLab webhook em grupo](gitlab-group-webhook-setup.md)
+ [Filtrar eventos de webhook de GitLab grupo (console)](gitlab-group-webhook-events-console.md)
+ [Filtrar eventos de webhook em GitLab grupo ()CloudFormation](gitlab-group-webhook-events-cfn.md)

# Configurar um GitLab webhook em grupo
<a name="gitlab-group-webhook-setup"></a>

As etapas de alto nível para configurar um GitLab webhook em grupo são as seguintes. Para obter mais informações sobre GitLab webhooks de grupo, consulte. [GitLab webhooks em grupo](gitlab-group-webhook.md)

1. Defina o local de origem do seu projeto como `CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION`.

1. Na configuração do escopo do webhook, defina o escopo como `GITLAB_GROUP`.

1. Especifique um nome como parte da configuração do escopo do webhook. Para webhooks de grupo, esse é o nome do grupo.
**nota**  
Se o tipo de origem do projeto for `GITLAB_SELF_MANAGED`, você também precisará especificar um domínio como parte da configuração do escopo do webhook.

1. (Opcional) Se você quiser receber apenas eventos de webhook para repositórios específicos em sua organização ou empresa, você pode especificar `REPOSITORY_NAME` como filtro ao criar o webhook.

1. Ao criar um webhook de grupo, certifique-se de que ele CodeBuild tenha permissões para criar webhooks em nível de grupo. GitLab Para fazer isso, você pode CodeBuild OAuth usar CodeConnections. Para obter mais informações, consulte [GitLab acesso em CodeBuild](access-tokens-gitlab-overview.md).

   Observe que os webhooks de grupo funcionam com qualquer um dos tipos de eventos de GitLab webhook existentes.

# Filtrar eventos de webhook de GitLab grupo (console)
<a name="gitlab-group-webhook-events-console"></a>

Ao criar um GitLab projeto por meio do console, selecione as seguintes opções para criar um webhook de GitLab grupo dentro do projeto. Para obter mais informações sobre GitLab webhooks de grupo, consulte. [GitLab webhooks em grupo](gitlab-group-webhook.md)

1. Abra o AWS CodeBuild console em [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Crie um projeto de compilação. Para obter informações, consulte [Criar um projeto de compilação (console)](create-project.md#create-project-console) e [Executar uma compilação (console)](run-build-console.md).
   +  Em **Origem**: 
     +  Em **Provedor de origem**, escolha **GitLabGitLab****Autogerenciado**.
     +  Em **Repositório**, escolha webhook com **GitLabescopo definido**. 

        O GitLab repositório será automaticamente definido como`CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION`, que é o local de origem necessário para webhooks de grupo. 
**nota**  
Ao usar webhooks de grupo, verifique se ele CodeBuild tem permissões para criar webhooks em nível de grupo. GitLab Se você estiver usando uma [ OAuthconexão existente](access-tokens-gitlab-overview.md#connections-gitlab), talvez seja necessário regenerar a conexão para conceder CodeBuild essa permissão.  
![\[A configuração do webhook com GitLab escopo definido.\]](http://docs.aws.amazon.com/pt_br/codebuild/latest/userguide/images/gitlab-group-source.png)
   +  Em **Eventos de webhook da origem principal**: 
     +  Em **Nome do grupo**, insira o nome do grupo.

       Se o tipo de origem do projeto for `GITLAB_SELF_MANAGED`, você também precisará especificar um domínio como parte da configuração do grupo de webhook. Por exemplo, se o URL do grupo for **https://domain.com/group/group-name**, o domínio será **https://domain.com**.
**nota**  
 Não é possível alterar o nome depois que o webhook é criado. Para alterar o nome, você pode excluir e recriar o webhook. Se quiser remover completamente o webhook, você também pode atualizar o local de origem do projeto em um GitLab repositório.   
![\[A configuração dos webhooks de grupo.\]](http://docs.aws.amazon.com/pt_br/codebuild/latest/userguide/images/gitlab-group-webhook-primary-events.png)
     +  (Opcional) Nos **grupos de filtros de eventos de Webhook**, você pode especificar quais [eventos você gostaria de acionar uma nova compilação](gitlab-webhook.md). Você também pode especificar `REPOSITORY_NAME` como filtro para acionar somente compilações em eventos de webhook de repositórios específicos.  
![\[Um filtro que só aciona compilações em eventos de webhook de repositórios específicos.\]](http://docs.aws.amazon.com/pt_br/codebuild/latest/userguide/images/github-organization-webhook-filter-groups.png)

       Você também pode definir o tipo de evento `WORKFLOW_JOB_QUEUED` para configurar GitLab corredores auto-hospedados. Para obter mais informações, consulte [GitLab Corredores autogerenciados em AWS CodeBuild](gitlab-runner.md).

1. Continue com os valores padrão e escolha **Criar projeto de compilação**.

# Filtrar eventos de webhook em GitLab grupo ()CloudFormation
<a name="gitlab-group-webhook-events-cfn"></a>

 Para usar um CloudFormation modelo para filtrar eventos de webhook de grupo, use a `ScopeConfiguration` propriedade do AWS CodeBuild projeto. Para obter mais informações sobre GitLab webhooks de grupo, consulte. [GitLab webhooks em grupo](gitlab-group-webhook.md)

 A seguinte parte formatada em YAML de um CloudFormation modelo 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 pull requests são criadas ou atualizadas em ramificações com nomes de referência do Git que correspondem à `^refs/heads/main$` expressão regular de GitLab um usuário que não tem 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 um nome de GitLab CI/CD pipeline job request with a CI/CD pipeline que corresponde à expressão `\[CI-CodeBuild\]` regular.

```
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: GITLAB
      Location: source-location
    Triggers:
      Webhook: true
      ScopeConfiguration:
        Name: group-name
        Scope: GITLAB_GROUP
      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\]
```