

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.

# GitHub webhooks mondiaux et organisationnels
<a name="github-global-organization-webhook"></a>

Vous pouvez utiliser des webhooks CodeBuild GitHub globaux ou organisationnels pour démarrer des builds à partir d'événements webhooks à partir de n'importe quel référentiel au sein d'une GitHub organisation ou d'une entreprise. Les webhooks globaux et organisationnels fonctionnent avec tous les types d'événements GitHub 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 mondiaux et organisationnels pour [configurer des GitHub Action Runners auto-hébergés au sein d'un même projet CodeBuild](action-runner.md) afin de recevoir des `WORKFLOW_JOB_QUEUED` événements provenant de plusieurs référentiels au sein d'un même projet.

**Topics**
+ [

# Configurer un GitHub webhook mondial ou organisationnel
](github-global-organization-webhook-setup.md)
+ [

# Filtrer les événements webhook GitHub mondiaux ou organisationnels (console)
](github-global-organization-webhook-events-console.md)
+ [

# Filtrer les événements du webhook de l' GitHub organisation ()CloudFormation
](github-organization-webhook-events-cfn.md)

# Configurer un GitHub webhook mondial ou organisationnel
<a name="github-global-organization-webhook-setup"></a>

Les étapes de haut niveau pour configurer un GitHub webhook mondial ou organisationnel sont les suivantes. Pour plus d'informations sur les GitHub webhooks mondiaux et organisationnels, consultez[GitHub webhooks mondiaux et organisationnels](github-global-organization-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 l'une ou l'autre `GITHUB_ORGANIZATION` ou `GITHUB_GLOBAL` selon qu'il doit s'agir d'une organisation ou d'un [webhook mondial](https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/managing-global-webhooks). Pour plus d'informations, consultez la section [Types de webhooks.](https://docs.github.com/en/webhooks/types-of-webhooks)

1. Spécifiez un nom dans le cadre de la configuration du scope du webhook. Pour les webhooks d'organisation, il s'agit du nom de l'organisation, et pour les webhooks globaux, il s'agit du nom de l'entreprise.
**Note**  
Si le type de source du projet est`GITHUB_ENTERPRISE`, 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. Si vous créez un webhook d'organisation, assurez-vous qu'il CodeBuild dispose des autorisations nécessaires pour créer des webhooks au niveau de l'organisation. GitHub Vous pouvez créer un jeton d'accès GitHub personnel avec les autorisations Webhook de l'organisation, ou l'utiliser CodeBuild OAuth. Pour de plus amples informations, veuillez consulter [GitHub et jeton d'accès au serveur GitHub Enterprise](access-tokens-github.md).

   Notez que les webhooks d'organisation fonctionnent avec tous les types d'événements GitHub webhook existants.

1. Si vous créez un webhook global, le webhook devra être créé manuellement. Pour plus d'informations sur la création manuelle d'un webhook à l'intérieur de celui-ci GitHub, consultez[GitHub webhooks manuels](github-manual-webhook.md).

   Notez que les webhooks globaux ne prennent en charge que le type `WORKFLOW_JOB_QUEUED` d'événement. Pour de plus amples informations, veuillez consulter [Tutoriel : Configuration d'un CodeBuild exécuteur d' GitHub actions hébergé](action-runner.md).

# Filtrer les événements webhook GitHub mondiaux ou organisationnels (console)
<a name="github-global-organization-webhook-events-console"></a>

Lorsque vous créez un GitHub projet via la console, sélectionnez les options suivantes pour créer un webhook GitHub global ou organisationnel au sein du projet. Pour plus d'informations sur les GitHub webhooks mondiaux et organisationnels, consultez[GitHub webhooks mondiaux et organisationnels](github-global-organization-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**, sélectionnez **GitHubGitHub****Enterprise**.
     +  Pour **Repository**, choisissez un **GitHubwebhook scopé**. 

        Le GitHub référentiel sera automatiquement défini sur`CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION`, qui est l'emplacement source requis pour les webhooks mondiaux et organisationnels. 
**Note**  
Si vous utilisez des webhooks d'organisation, assurez-vous que celle-ci CodeBuild dispose des autorisations nécessaires pour créer des webhooks au niveau de l'organisation. GitHub Si vous utilisez une [ OAuthconnexion existante](oauth-app-github.md), il se peut que vous deviez la régénérer pour accorder CodeBuild cette autorisation. Vous pouvez également créer le webhook manuellement à l'aide de la fonction [webhooks CodeBuild manuels](github-manual-webhook.md). Notez que si vous avez un GitHub OAuth jeton existant et que vous souhaitez ajouter des autorisations d'organisation supplémentaires, vous pouvez [révoquer l'autorisation du OAuth jeton](https://docs.github.com/en/apps/oauth-apps/using-oauth-apps/reviewing-your-authorized-oauth-apps) et le reconnecter via la CodeBuild console.  
![\[La configuration du GitHub webhook délimité.\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/images/github-organization-webhook-source.png)
   +  Dans les **événements Webhook de la source principale** : 
     +  Pour **Type de portée**, choisissez **Niveau organisation** si vous créez un webhook d'organisation ou **Niveau entreprise** si vous créez un webhook global.
     +  Dans **Nom**, entrez le nom de l'entreprise ou de l'organisation, selon qu'il s'agit d'un webhook mondial ou d'une organisation.

       Si le type de source du projet est`GITHUB_ENTERPRISE`, vous devez également spécifier un domaine dans le cadre de la configuration de l'organisation du webhook. Par exemple, si l'URL de votre organisation est**https://domain.com/orgs/org-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 GitHub référentiel.   
![\[Configuration de webhooks globaux ou organisationnels.\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/images/github-organization-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](github-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 coureurs GitHub Actions auto-hébergés. Pour de plus amples informations, veuillez consulter [Tutoriel : Configuration d'un CodeBuild exécuteur d' GitHub actions hébergé](action-runner.md).

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

# Filtrer les événements du webhook de l' GitHub organisation ()CloudFormation
<a name="github-organization-webhook-events-cfn"></a>

 Pour utiliser un CloudFormation modèle afin de filtrer les événements webhook d'une organisation, utilisez la `ScopeConfiguration` propriété du AWS CodeBuild projet. Pour plus d'informations sur les GitHub webhooks mondiaux et organisationnels, consultez[GitHub webhooks mondiaux et organisationnels](github-global-organization-webhook.md).

**Note**  
Les webhooks globaux et les webhooks GitHub d'entreprise ne sont pas pris en charge par. CloudFormation

 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 GitHub 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 une demande de travail de flux de travail GitHub Actions avec un nom de flux de travail 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: GITHUB
      Location: source-location
    Triggers:
      Webhook: true
      ScopeConfiguration:
        Name: organization-name
        Scope: GITHUB_ORGANIZATION
      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\]
```