

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# GitHub webhook globali e organizzativi
<a name="github-global-organization-webhook"></a>

È possibile utilizzare i webhook CodeBuild GitHub globali o organizzativi per avviare build su eventi webhook da qualsiasi repository all'interno di un'organizzazione o di un'azienda. GitHub I webhook globali e organizzativi funzionano con tutti i tipi di eventi GitHub webhook esistenti e possono essere configurati aggiungendo una configurazione di ambito durante la creazione di un webhook. CodeBuild Puoi anche utilizzare webhook globali e organizzativi per [configurare GitHub Action runner ospitati autonomamente al fine di ricevere `WORKFLOW_JOB_QUEUED` eventi da più repository CodeBuild all'interno](action-runner.md) di un singolo progetto.

**Topics**
+ [

# Configura un webhook globale o organizzativo GitHub
](github-global-organization-webhook-setup.md)
+ [

# Filtra gli eventi webhook GitHub globali o organizzativi (console)
](github-global-organization-webhook-events-console.md)
+ [

# Filtra gli eventi webhook GitHub dell'organizzazione ()CloudFormation
](github-organization-webhook-events-cfn.md)

# Configura un webhook globale o organizzativo GitHub
<a name="github-global-organization-webhook-setup"></a>

I passaggi principali per configurare un GitHub webhook globale o organizzativo sono i seguenti. Per ulteriori informazioni sui GitHub webhook globali e organizzativi, vedere. [GitHub webhook globali e organizzativi](github-global-organization-webhook.md)

1. Imposta la posizione di origine del progetto su. `CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION`

1. Nella configurazione dell'ambito del webhook, imposta l'ambito su uno `GITHUB_ORGANIZATION` o in `GITHUB_GLOBAL` base al fatto che si tratti di un'organizzazione o di un [webhook globale](https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/managing-global-webhooks). Per ulteriori informazioni, consulta [Tipi di webhook.](https://docs.github.com/en/webhooks/types-of-webhooks)

1. Specificate un nome come parte della configurazione dell'ambito del webhook. Per i webhook dell'organizzazione, questo è il nome dell'organizzazione, mentre per i webhook globali è il nome dell'azienda.
**Nota**  
Se il tipo di sorgente del progetto è`GITHUB_ENTERPRISE`, sarà inoltre necessario specificare un dominio come parte della configurazione dell'ambito del webhook.

1. (Facoltativo) Se desideri ricevere solo eventi webhook per repository specifici all'interno della tua organizzazione o azienda, puoi specificarli `REPOSITORY_NAME` come filtro durante la creazione del webhook.

1. Se state creando un webhook aziendale, assicuratevi di disporre delle autorizzazioni necessarie per creare webhook a livello di organizzazione all'interno. CodeBuild GitHub Puoi creare un token di accesso GitHub personale con le autorizzazioni dei webhook dell'organizzazione o utilizzarlo. CodeBuild OAuth Per ulteriori informazioni, consulta [GitHub e token di accesso a GitHub Enterprise Server](access-tokens-github.md).

   Tieni presente che i webhook dell'organizzazione funzionano con tutti i tipi di eventi webhook esistenti GitHub .

1. Se stai creando un webhook globale, il webhook dovrà essere creato manualmente. Per ulteriori informazioni su come creare manualmente un webhook all'interno GitHub, consulta. [GitHub webhook manuali](github-manual-webhook.md)

   Tieni presente che i webhook globali supportano solo il `WORKFLOW_JOB_QUEUED` tipo di evento. Per ulteriori informazioni, consulta [Tutorial: configura un GitHub Actions CodeBuild runner ospitato](action-runner.md).

# Filtra gli eventi webhook GitHub globali o organizzativi (console)
<a name="github-global-organization-webhook-events-console"></a>

Quando crei un GitHub progetto tramite la console, seleziona le seguenti opzioni per creare un webhook GitHub globale o organizzativo all'interno del progetto. Per ulteriori informazioni sui GitHub webhook globali e organizzativi, consulta. [GitHub webhook globali e organizzativi](github-global-organization-webhook.md)

1. [Apri la AWS CodeBuild console su codebuild/homehttps://console.aws.amazon.com/codesuite/.](https://console.aws.amazon.com/codesuite/codebuild/home)

1. Creare un progetto di compilazione. Per informazioni, consulta [Creare un progetto di compilazione (console)](create-project.md#create-project-console) e [Esecuzione di una compilazione (console)](run-build-console.md).
   +  In **Source (Origine)**: 
     +  **Come **fornitore di origine**, scegli **GitHub**Enterprise. GitHub**
     +  Per **Repository**, scegli webhook **GitHubcon ambito.** 

        Il GitHub repository verrà impostato automaticamente su`CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION`, che è la posizione di origine richiesta per i webhook globali e organizzativi. 
**Nota**  
Se utilizzi webhook a livello di organizzazione, assicurati che disponga delle autorizzazioni necessarie per creare webhook a CodeBuild livello di organizzazione all'interno. GitHub Se utilizzi una [ OAuthconnessione esistente](oauth-app-github.md), potrebbe essere necessario rigenerare la connessione per concedere questa autorizzazione. CodeBuild In alternativa, puoi creare il webhook manualmente utilizzando la funzione [webhook CodeBuild manuale](github-manual-webhook.md). Tieni presente che se disponi di un GitHub OAuth token esistente e desideri aggiungere ulteriori autorizzazioni all'organizzazione, puoi [revocare l'autorizzazione del OAuth token e ricollegare il token](https://docs.github.com/en/apps/oauth-apps/using-oauth-apps/reviewing-your-authorized-oauth-apps) tramite la console. CodeBuild   
![\[La configurazione del webhook con ambito. GitHub\]](http://docs.aws.amazon.com/it_it/codebuild/latest/userguide/images/github-organization-webhook-source.png)
   +  Negli eventi del **webhook della fonte primaria**: 
     +  Per il **tipo di ambito**, scegli il **livello di organizzazione** se stai creando un webhook **aziendale o il livello Enterprise** se stai creando un webhook globale.
     +  Per **Nome**, inserisci il nome dell'azienda o dell'organizzazione, a seconda che il webhook sia un webhook globale o dell'organizzazione.

       Se il tipo di origine del progetto è`GITHUB_ENTERPRISE`, è inoltre necessario specificare un dominio come parte della configurazione dell'organizzazione del webhook. Ad esempio, se l'URL della tua organizzazione è**https://domain.com/orgs/org-name**, allora il dominio è**https://domain.com**.
**Nota**  
 Questo nome non può essere modificato dopo la creazione del webhook. Per modificare il nome, è possibile eliminare e ricreare il webhook. Se desideri rimuovere completamente il webhook, puoi anche aggiornare la posizione di origine del progetto in un repository. GitHub   
![\[La configurazione dei webhook globali o organizzativi.\]](http://docs.aws.amazon.com/it_it/codebuild/latest/userguide/images/github-organization-webhook-primary-events.png)
     +  (Facoltativo) Nei **gruppi di filtri degli eventi Webhook**, puoi specificare quali [eventi desideri attivare una](github-webhook.md) nuova build. È inoltre possibile specificare `REPOSITORY_NAME` come filtro di attivare solo le build sugli eventi webhook provenienti da repository specifici.  
![\[Un filtro che attiva solo gli eventi webhook provenienti da repository specifici.\]](http://docs.aws.amazon.com/it_it/codebuild/latest/userguide/images/github-organization-webhook-filter-groups.png)

       Puoi anche impostare il tipo di evento su per configurare gli Actions runner `WORKFLOW_JOB_QUEUED` ospitati autonomamente. GitHub Per ulteriori informazioni, consulta [Tutorial: configura un GitHub Actions CodeBuild runner ospitato](action-runner.md).

1. Continua con i valori predefiniti, quindi scegli **Crea progetto di compilazione**.

# Filtra gli eventi webhook GitHub dell'organizzazione ()CloudFormation
<a name="github-organization-webhook-events-cfn"></a>

 Per utilizzare un CloudFormation modello per filtrare gli eventi del webhook dell'organizzazione, utilizzate la proprietà del AWS CodeBuild `ScopeConfiguration` progetto. Per ulteriori informazioni sui GitHub webhook globali e organizzativi, consulta. [GitHub webhook globali e organizzativi](github-global-organization-webhook.md)

**Nota**  
I webhook globali e i webhook GitHub Enterprise non sono supportati da. CloudFormation

 La seguente parte di un modello in formato YAML crea quattro gruppi di filtri. CloudFormation Insieme, attivano una build quando uno o tutti restituiscono true: 
+  Il primo gruppo di filtri specifica che le richieste pull vengono create o aggiornate sui rami con nomi di riferimento Git che corrispondono all'espressione regolare `^refs/heads/main$` da un GitHub utente che non dispone di un ID `12345` account. 
+  Il secondo gruppo di filtri specifica le richieste push create su file con nomi che corrispondono all'espressione regolare `READ_ME` in rami con nomi di riferimento Git che corrispondono all'espressione regolare `^refs/heads/.*`. 
+ Il terzo gruppo di filtri specifica una richiesta push con un messaggio di commit HEAD corrispondente all'espressione regolare `\[CodeBuild\]`.
+ Il quarto gruppo di filtri specifica una richiesta di lavoro del flusso di lavoro GitHub Actions con un nome di flusso di lavoro corrispondente all'espressione regolare. `\[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\]
```