

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

Puedes usar webhooks de CodeBuild GitLab grupo para iniciar compilaciones a partir de eventos de webhook desde cualquier repositorio de un grupo. GitLab Los webhooks de grupo funcionan con cualquiera de los tipos de eventos de GitLab webhook existentes y se pueden configurar añadiendo una configuración de ámbito al crear un webhook. CodeBuild También puedes usar webhooks grupales para [configurar GitLab ejecutores autohospedados con el fin de recibir `WORKFLOW_JOB_QUEUED` eventos de varios repositorios dentro CodeBuild](gitlab-runner.md) de un mismo proyecto.

**Topics**
+ [Configura un webhook grupal GitLab](gitlab-group-webhook-setup.md)
+ [Filtra los eventos GitLab de webhooks grupales (consola)](gitlab-group-webhook-events-console.md)
+ [Filtrar eventos GitLab grupales de webhook ()CloudFormation](gitlab-group-webhook-events-cfn.md)

# Configura un webhook grupal GitLab
<a name="gitlab-group-webhook-setup"></a>

Los pasos generales para configurar un GitLab webhook grupal son los siguientes. Para obtener más información sobre los GitLab webhooks grupales, consulte. [GitLab webhooks grupales](gitlab-group-webhook.md)

1. Establezca la ubicación de origen del proyecto en `CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION`.

1. En la configuración de ámbito del webhook, establezca el ámbito en `GITLAB_GROUP`.

1. Especifique un nombre como parte de la configuración del ámbito del webhook. En el caso de los webhooks de grupo, es el nombre del grupo.
**nota**  
Si el tipo de origen del proyecto es `GITLAB_SELF_MANAGED`, también debe especificar un dominio como parte de la configuración del ámbito del webhook.

1. (Opcional) Si solo quiere recibir eventos de webhook para repositorios específicos de su organización o empresa, puede especificar `REPOSITORY_NAME` como filtro al crear el webhook.

1. Al crear un webhook de grupo, asegúrate de que CodeBuild tiene permisos para crear webhooks a nivel de grupo. GitLab Sin embargo, para hacerlo, puedes usar CodeBuild OAuth . CodeConnections Para obtener más información, consulte [GitLab acceder en CodeBuild](access-tokens-gitlab-overview.md).

   Ten en cuenta que los webhooks grupales funcionan con cualquiera de los tipos de eventos de GitLab webhook existentes.

# Filtra los eventos GitLab de webhooks grupales (consola)
<a name="gitlab-group-webhook-events-console"></a>

Al crear un GitLab proyecto a través de la consola, selecciona las siguientes opciones para crear un webhook GitLab grupal dentro del proyecto. Para obtener más información sobre los GitLab webhooks grupales, consulte. [GitLab webhooks grupales](gitlab-group-webhook.md)

1. Abre la AWS CodeBuild consola en [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Cree un proyecto de compilación. Para obtener más información, consulte [Creación de un proyecto de compilación (consola)](create-project.md#create-project-console) y [Ejecutar una compilación (consola)](run-build-console.md).
   +  En **Source (Código fuente)**: 
     +  **En el caso del **proveedor de código fuente**, selecciona **GitLab**AutogestionadoGitLab.**
     +  En **Repositorio**, elige **GitLabwebhook con alcance**. 

        El GitLab repositorio se configurará automáticamente en`CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION`, que es la ubicación de origen requerida para los webhooks grupales. 
**nota**  
Cuando utilices webhooks de grupo, asegúrate de tener permisos para crear webhooks a nivel de grupo. CodeBuild GitLab Si utilizas una [ OAuthconexión existente](access-tokens-gitlab-overview.md#connections-gitlab), es posible que tengas que volver a generarla para conceder CodeBuild este permiso.  
![\[La configuración del webhook con GitLab ámbito específico.\]](http://docs.aws.amazon.com/es_es/codebuild/latest/userguide/images/gitlab-group-source.png)
   +  En **Eventos de webhook de origen principal**: 
     +  Escriba el nombre del grupo en **Nombre del grupo**.

       Si el tipo de origen del proyecto es `GITLAB_SELF_MANAGED`, también debe especificar un dominio como parte de la configuración de grupo del webhook. Por ejemplo, si la URL de su grupo es **https://domain.com/group/group-name**, el dominio es **https://domain.com**.
**nota**  
 Este nombre no puede modificarse una vez que se haya creado el webhook. Para cambiar el nombre, puede eliminar el webhook y volver a crearlo. Si quieres eliminar el webhook por completo, también puedes actualizar la ubicación de origen del proyecto a un repositorio. GitLab   
![\[La configuración de los webhooks de grupo.\]](http://docs.aws.amazon.com/es_es/codebuild/latest/userguide/images/gitlab-group-webhook-primary-events.png)
     +  (Opcional) En **Grupos de filtros de eventos de webhook**, puede especificar qué [eventos quiere que desencadenen una nueva compilación](gitlab-webhook.md). También puede especificar `REPOSITORY_NAME` como filtro para que solo se desencadenen compilaciones a partir de eventos de webhook de repositorios específicos.  
![\[Un filtro que solo desencadena compilaciones a partir de eventos de webhook de repositorios específicos.\]](http://docs.aws.amazon.com/es_es/codebuild/latest/userguide/images/github-organization-webhook-filter-groups.png)

       También puedes configurar el tipo de evento como `WORKFLOW_JOB_QUEUED` para configurar corredores autohospedados GitLab . Para obtener más información, consulte [Ejecutores autogestionados GitLab en AWS CodeBuild](gitlab-runner.md).

1. Continúe con los valores predeterminados y, a continuación, elija **Crear el proyecto de compilación**.

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

 Para usar una CloudFormation plantilla para filtrar los eventos de webhook de un grupo, usa la propiedad del AWS CodeBuild `ScopeConfiguration` proyecto. Para obtener más información sobre los GitLab webhooks de grupo, consulte. [GitLab webhooks grupales](gitlab-group-webhook.md)

 La siguiente parte de una CloudFormation plantilla con formato YAML crea cuatro grupos de filtros. Juntos, desencadenan una compilación cuando uno o todos se evalúan como true: 
+  El primer grupo de filtros especifica que las solicitudes de cambios se crean o actualizan en las sucursales con nombres de referencia de Git que coinciden con la expresión regular `^refs/heads/main$` por parte de un GitLab usuario que no tiene un ID de cuenta`12345`. 
+  El segundo grupo de filtros especifica las solicitudes de inserción que se crean en archivos cuyos nombres coinciden con la expresión regular `READ_ME` en las ramificaciones que tienen un nombre de referencia de Git que coincide con la expresión regular `^refs/heads/.*`. 
+ El tercer grupo de filtros especifica una solicitud de inserción con un mensaje de confirmación del encabezado que coincida con la expresión regular `\[CodeBuild\]`.
+ El cuarto grupo de filtros especifica un nombre de GitLab CI/CD pipeline job request with a CI/CD canalización que coincide con la expresión 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: 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\]
```