

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Vous pouvez utiliser des webhooks de CodeBuild GitLab groupe pour démarrer des builds à partir d'événements de webhooks à partir de n'importe quel référentiel au sein d'un GitLab groupe. Les webhooks de groupe fonctionnent avec tous les types d'événements GitLab webhook existants et peuvent être configurés en ajoutant une configuration de portée lors de la création d'un CodeBuild webhook. Vous pouvez également utiliser des webhooks de groupe pour [configurer des GitLab coureurs auto-hébergés CodeBuild au sein](gitlab-runner.md) d'un même projet afin de recevoir `WORKFLOW_JOB_QUEUED` des événements provenant de plusieurs référentiels.

**Topics**
+ [Configurer un GitLab webhook de groupe](gitlab-group-webhook-setup.md)
+ [Filtrer les événements de webhook de GitLab groupe (console)](gitlab-group-webhook-events-console.md)
+ [Filtrer les événements webhook de GitLab groupe ()CloudFormation](gitlab-group-webhook-events-cfn.md)

# Configurer un GitLab webhook de groupe
<a name="gitlab-group-webhook-setup"></a>

Les étapes de haut niveau pour configurer un GitLab webhook de groupe sont les suivantes. Pour plus d'informations sur les GitLab webhooks de groupe, consultez[GitLab webhooks de groupe](gitlab-group-webhook.md).

1. Définissez l'emplacement source de votre projet sur`CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION`.

1. Dans la configuration de la portée du webhook, définissez la portée sur`GITLAB_GROUP`.

1. Spécifiez un nom dans le cadre de la configuration du scope du webhook. Pour les webhooks de groupe, il s'agit du nom du groupe.
**Note**  
Si le type de source du projet est`GITLAB_SELF_MANAGED`, vous devrez également spécifier un domaine dans le cadre de la configuration de la portée du webhook.

1. (Facultatif) Si vous souhaitez uniquement recevoir des événements de webhook pour des référentiels spécifiques au sein de votre organisation ou de votre entreprise, vous pouvez les spécifier `REPOSITORY_NAME` sous forme de filtre lors de la création du webhook.

1. Lorsque vous créez un webhook de groupe, assurez-vous qu'il CodeBuild dispose des autorisations nécessaires pour créer des webhooks au niveau du groupe. GitLab Pour ce faire, vous pouvez CodeBuild OAuth cependant utiliser CodeConnections. Pour de plus amples informations, veuillez consulter [GitLab accéder à CodeBuild](access-tokens-gitlab-overview.md).

   Notez que les webhooks de groupe fonctionnent avec tous les types d'événements GitLab webhook existants.

# Filtrer les événements de webhook de GitLab groupe (console)
<a name="gitlab-group-webhook-events-console"></a>

Lorsque vous créez un GitLab projet via la console, sélectionnez les options suivantes pour créer un webhook de GitLab groupe au sein du projet. Pour plus d'informations sur les GitLab webhooks de groupe, consultez[GitLab webhooks de groupe](gitlab-group-webhook.md).

1. Ouvrez la AWS CodeBuild console sur [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Créez un projet de génération. Pour plus d’informations, consultez [Création d'un projet de génération (console)](create-project.md#create-project-console) et [Exécution d'une génération (console)](run-build-console.md).
   +  Dans **Source**: 
     +  Dans le **champ Source provider**, choisissez **GitLabGitLab****Self Managed**.
     +  Pour **Repository**, choisissez un **GitLabwebhook scopé**. 

        Le GitLab référentiel sera automatiquement défini sur`CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION`, qui est l'emplacement source requis pour les webhooks de groupe. 
**Note**  
Lorsque vous utilisez des webhooks de groupe, assurez-vous qu'ils sont CodeBuild autorisés à créer des webhooks au niveau du groupe. GitLab Si vous utilisez une [ OAuthconnexion existante](access-tokens-gitlab-overview.md#connections-gitlab), vous devrez peut-être la régénérer pour accorder CodeBuild cette autorisation.  
![\[La configuration du GitLab webhook délimité.\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/images/gitlab-group-source.png)
   +  Dans les **événements Webhook de la source principale** : 
     +  Dans **Nom du groupe**, entrez le nom du groupe.

       Si le type de source du projet est`GITLAB_SELF_MANAGED`, vous devez également spécifier un domaine dans le cadre de la configuration du groupe Webhook. Par exemple, si l'URL de votre groupe est**https://domain.com/group/group-name**, le domaine est**https://domain.com**.
**Note**  
 Ce nom ne peut pas être modifié une fois le webhook créé. Pour modifier le nom, vous pouvez supprimer et recréer le webhook. Si vous souhaitez supprimer complètement le webhook, vous pouvez également mettre à jour l'emplacement de la source du projet vers un GitLab référentiel.   
![\[Configuration des webhooks de groupe.\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/images/gitlab-group-webhook-primary-events.png)
     +  (Facultatif) Dans les **groupes de filtres d'événements Webhook**, vous pouvez spécifier [les événements pour lesquels vous souhaitez déclencher une nouvelle génération](gitlab-webhook.md). Vous pouvez également spécifier `REPOSITORY_NAME` comme filtre de manière à ne déclencher des builds que sur des événements webhook provenant de référentiels spécifiques.  
![\[Un filtre qui se déclenche uniquement à partir d'événements webhook provenant de référentiels spécifiques.\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/images/github-organization-webhook-filter-groups.png)

       Vous pouvez également définir le type d'événement sur `WORKFLOW_JOB_QUEUED` pour configurer des GitLab coureurs auto-hébergés. Pour de plus amples informations, veuillez consulter [GitLab Coureurs autogérés en AWS CodeBuild](gitlab-runner.md).

1. Continuez avec les valeurs par défaut, puis choisissez **Create build project**.

# Filtrer les événements webhook de GitLab groupe ()CloudFormation
<a name="gitlab-group-webhook-events-cfn"></a>

 Pour utiliser un CloudFormation modèle afin de filtrer les événements webhook de groupe, utilisez la `ScopeConfiguration` propriété du AWS CodeBuild projet. Pour plus d'informations sur les GitLab webhooks de groupe, consultez[GitLab webhooks de groupe](gitlab-group-webhook.md).

 La partie suivante d'un CloudFormation modèle au format YAML crée quatre groupes de filtres. Ensemble, ils déclenchent une compilation lorsqu'une ou toutes les évaluations sont vraies : 
+  Le premier groupe de filtres indique que les pull requests sont créées ou mises à jour sur les branches dont les noms de référence Git correspondent à l'expression régulière `^refs/heads/main$` d'un GitLab utilisateur qui n'a pas d'identifiant de compte`12345`. 
+  Le deuxième groupe de filtres spécifie les demandes de transmission créées sur des fichiers dont les noms correspondent à l'expression régulière `READ_ME` dans des branches avec des noms de référence Git qui correspondent à l'expression régulière `^refs/heads/.*`. 
+ Le troisième groupe de filtres spécifie une demande de transmission avec un message de validation principal correspondant à l'expression régulière `\[CodeBuild\]`.
+ Le quatrième groupe de filtres spécifie un nom de GitLab CI/CD pipeline job request with a CI/CD pipeline correspondant à l'expression régulière`\[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\]
```