

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

# Appendice A: azioni di origine GitHub (tramite OAuth app)
<a name="appendix-github-oauth"></a>

Questa appendice fornisce informazioni (tramite OAuth app) sull' GitHub azione in. CodePipeline

**Nota**  
Sebbene non sia consigliabile utilizzare l'azione GitHub (tramite OAuth app), le pipeline esistenti con l'azione GitHub (tramite OAuth app) continueranno a funzionare senza alcun impatto. Per una pipeline con un'azione GitHub (tramite OAuth app), CodePipeline utilizza token OAuth basati per connettersi al tuo repository. GitHub Al contrario, l' GitHub azione (tramite GitHub app) utilizza una risorsa di connessione per associare AWS risorse al tuo repository. GitHub La risorsa di connessione utilizza token basati su app per connettersi. Per ulteriori informazioni sull'aggiornamento della pipeline all' GitHubazione consigliata che utilizza una connessione, consulta. [Aggiorna un'azione sorgente GitHub (tramite OAuth app) a un'azione sorgente GitHub (tramite GitHub app)](update-github-action-connections.md) Per ulteriori informazioni sull' GitHub accesso OAuth basato rispetto all' GitHub accesso basato su app, consulta. [https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps](https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps)

Per l'integrazione con GitHub, CodePipeline utilizza un' GitHub OAuth applicazione per la pipeline. CodePipelineutilizza i webhook per gestire il rilevamento delle modifiche per la pipeline con l'azione sorgente GitHub (tramite OAuth app).

**Nota**  
Quando configuri un'azione di origine GitHub (tramite GitHub app) in CloudFormation, non includi alcuna informazione sul GitHub token né aggiungi una risorsa webhook. Si configura una risorsa di connessione come mostrato [AWS::CodeStarConnections::Connection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html)nella *Guida per l' CloudFormation utente*.

Questo riferimento contiene le seguenti sezioni relative all'azione GitHub (tramite OAuth app):
+ Per informazioni su come aggiungere un'azione sorgente GitHub (tramite OAuth app) e un webhook a una pipeline, consulta. [Aggiungere un'azione sorgente GitHub (tramite OAuth app)](#appendix-github-methods)
+ Per informazioni sui parametri di configurazione e sugli YAML/JSON snippet di esempio per un'azione sorgente GitHub (tramite OAuth app), consulta. [GitHub Riferimento all'azione sorgente (tramite app OAuth )](#action-reference-GitHub)

**Importante**  
Durante la creazione di CodePipeline webhook, non utilizzate le vostre credenziali né riutilizzate lo stesso token segreto su più webhook. Per una sicurezza ottimale, genera un token segreto unico per ogni webhook creato. Il token segreto è una stringa arbitraria fornita dall'utente, che viene GitHub utilizzata per calcolare e firmare i payload del webhook a cui vengono inviati CodePipeline, per proteggere l'integrità e l'autenticità dei payload del webhook. L'utilizzo delle proprie credenziali o il riutilizzo dello stesso token su più webhook può portare a vulnerabilità di sicurezza.

**Nota**  
Se è stato fornito un token segreto, verrà oscurato nella risposta.

**Topics**
+ [Aggiungere un'azione sorgente GitHub (tramite OAuth app)](#appendix-github-methods)
+ [GitHub (tramite OAuth app) riferimento all'azione di origine](#action-reference-GitHub)

## Aggiungere un'azione sorgente GitHub (tramite OAuth app)
<a name="appendix-github-methods"></a>

Puoi aggiungere GitHub (tramite OAuth app) azioni sorgente CodePipeline a: 
+ Utilizzando la CodePipeline console **Create pipeline** wizard ([Crea una pipeline personalizzata (console)](pipelines-create.md#pipelines-create-console)) o la pagina **Modifica azione** per scegliere l'opzione del **GitHub**provider. La console crea un webhook che avvia la pipeline quando cambia la fonte.
+ Utilizzo della CLI per aggiungere la configurazione dell'`GitHub`azione e creare risorse aggiuntive come segue:
  + Utilizzo dell'`GitHub`esempio di configurazione dell'azione in [GitHub Riferimento all'azione sorgente (tramite app OAuth )](#action-reference-GitHub) per creare l'azione come mostrato in[Creazione di una pipeline (CLI)](pipelines-create.md#pipelines-create-cli).
  + Disattivazione dei controlli periodici e creazione manuale del rilevamento delle modifiche, poiché per impostazione predefinita il metodo di rilevamento delle modifiche prevede l'avvio della pipeline mediante il polling della fonte. Migri la tua pipeline di sondaggi ai webhook per le azioni (tramite app). GitHub OAuth 

## GitHub Riferimento all'azione sorgente (tramite app OAuth )
<a name="action-reference-GitHub"></a>

**Nota**  
Sebbene non sia consigliabile utilizzare l'azione GitHub (tramite OAuth app), le pipeline esistenti con l'azione GitHub (tramite OAuth app) continueranno a funzionare senza alcun impatto. Per una pipeline con un'azione sorgente GitHub GitHub (tramite OAuth app), CodePipeline utilizza token OAuth basati per connettersi al tuo repository. GitHub Al contrario, la nuova GitHub azione (tramite GitHub app) utilizza una risorsa di connessione per associare AWS risorse al repository. GitHub La risorsa di connessione utilizza token basati su app per connettersi. Per ulteriori informazioni sull'aggiornamento della pipeline all' GitHub azione consigliata che utilizza una connessione, consulta. [Aggiorna un'azione sorgente GitHub (tramite OAuth app) a un'azione sorgente GitHub (tramite GitHub app)](update-github-action-connections.md)

Attiva la pipeline quando viene effettuato un nuovo commit nel GitHub repository e nel ramo configurati.

Per l'integrazione con GitHub, CodePipeline utilizza un' OAuth applicazione o un token di accesso personale per la pipeline. Se utilizzi la console per creare o modificare la pipeline, CodePipeline crea un GitHub webhook che avvia la pipeline quando si verifica una modifica nel repository.

È necessario aver già creato un GitHub account e un repository prima di connettere la pipeline tramite un'azione. GitHub 

Se desideri limitare l'accesso ai CodePipeline repository, crea un GitHub account e concedi all'account l'accesso solo ai repository con cui desideri effettuare l'integrazione. CodePipeline Usa quell'account quando configuri l'uso dei GitHub repository CodePipeline per le fasi di origine nelle pipeline.

Per ulteriori informazioni, consulta la [documentazione per gli GitHub sviluppatori](https://developer.github.com) sul GitHub sito Web.

**Topics**
+ [Tipo di operazione](#action-reference-GitHub-type)
+ [Parametri di configurazione](#action-reference-GitHub-config)
+ [Input artifact (Artefatti di input)](#action-reference-GitHub-input)
+ [Artefatti di output](#action-reference-GitHub-output)
+ [Variabili di output](#action-reference-GitHub-variables)
+ [Dichiarazione di azione (GitHub esempio)](#action-reference-GitHub-example)
+ [Connessione a GitHub (OAuth)](#action-reference-GitHub-auth)
+ [Consulta anche](#action-reference-GitHub-links)

### Tipo di operazione
<a name="action-reference-GitHub-type"></a>
+ Categoria: `Source`
+ Proprietario: `ThirdParty`
+ Provider: `GitHub`
+ Versione: `1`

### Parametri di configurazione
<a name="action-reference-GitHub-config"></a>

**Owner**  
Obbligatorio: sì  
Il nome dell' GitHub utente o dell'organizzazione proprietaria del GitHub repository.

**Repo**  
Obbligatorio: sì  
Il nome del repository in cui devono essere rilevate le modifiche di origine.

**Ramo**  
Obbligatorio: sì  
Il nome del ramo in cui devono essere rilevate le modifiche di origine.

**OAuthToken**  
Obbligatorio: sì  
Rappresenta il token di GitHub autenticazione che CodePipeline consente di eseguire operazioni sul GitHub repository. La voce viene sempre visualizzata come una maschera di quattro asterischi. Rappresenta uno dei seguenti valori:  
+ Quando si utilizza la console per creare la pipeline, CodePipeline utilizza un OAuth token per registrare la GitHub connessione.
+ Quando si utilizza il AWS CLI per creare la pipeline, è possibile passare il token di accesso GitHub personale in questo campo. Sostituisci gli asterischi (\$1\$1\$1\$1) con il token di accesso personale copiato da. GitHub Quando si esegue `get-pipeline` per visualizzare la configurazione dell'operazione, per questo valore viene visualizzata la maschera con quattro asterischi.
+ Quando si utilizza un CloudFormation modello per creare la pipeline, è necessario innanzitutto archiviare il token come indirizzo segreto. Gestione dei segreti AWS Il valore di questo campo viene incluso come riferimento dinamico al segreto memorizzato in Secrets Manager, ad esempio`{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}`.
Per ulteriori informazioni sugli GitHub ambiti, consulta lo [GitHub Developer API Reference](https://developer.github.com/v3/oauth/#scopes) sul GitHub sito Web.

**PollForSourceChanges**  
Obbligatorio: no  
`PollForSourceChanges`controlla se interroga CodePipeline il GitHub repository per verificare la presenza di modifiche all'origine. Si consiglia di utilizzare i webhook per rilevare le modifiche all'origine. Per ulteriori informazioni sulla configurazione dei webhook, vedere [Migrazione delle pipeline di polling ai webhook ((tramite OAuth app) GitHub (azioni di origine) (CLI)](update-change-detection.md#update-change-detection-cli-github) o [Aggiorna le pipeline per gli eventi push GitHub (tramite OAuth app) (azioni di origine) (modello)CloudFormation](update-change-detection.md#update-change-detection-cfn-github).  
Se si intende configurare webhook, è necessario impostare `PollForSourceChanges` su `false` per evitare esecuzioni di pipeline duplicate.
I valori validi per questo parametro sono:  
+ `True`: Se impostato, analizza il repository per CodePipeline verificare se sono state apportate modifiche all'origine.
**Nota**  
Se si omette`PollForSourceChanges`, per CodePipeline impostazione predefinita esegue il polling del repository per verificare la presenza di modifiche all'origine. Questo comportamento è lo stesso se `PollForSourceChanges` è impostato su `true`.
+ `False`: se impostata, CodePipeline non esegue il polling del repository per verificare la presenza di modifiche all'origine. Utilizzare questa impostazione se si intende configurare un webhook per rilevare le modifiche all'origine.

### Input artifact (Artefatti di input)
<a name="action-reference-GitHub-input"></a>
+ **Numero di artefatti:** `0`
+ **Descrizione:** gli artefatti di input non si applicano a questo tipo di azione.

### Artefatti di output
<a name="action-reference-GitHub-output"></a>
+ **Numero di artefatti:** `1` 
+ **Descrizione:** l'artefatto di output di questa azione è un file ZIP che contiene il contenuto del repository configurato e del ramo al commit specificato come revisione di origine per l'esecuzione della pipeline. Gli artefatti generati dal repository sono gli artefatti di output dell'azione. GitHub L'ID di commit del codice sorgente viene visualizzato CodePipeline come revisione del codice sorgente per l'esecuzione della pipeline attivata.

### Variabili di output
<a name="action-reference-GitHub-variables"></a>

Quando è configurata, questa azione produce variabili che possono essere referenziate dalla configurazione dell'azione di un'azione downstream nella pipeline. Questa azione produce variabili che possono essere viste come variabili di output, anche se l'azione non ha uno spazio dei nomi. È possibile configurare un'azione con uno spazio dei nomi per rendere tali variabili disponibili per la configurazione delle azioni downstream.

Per ulteriori informazioni sulle variabili in CodePipeline, vedere. [Riferimento alle variabili](reference-variables.md)

**CommitId**  
L'ID di GitHub commit che ha attivato l'esecuzione della pipeline. IDs I commit sono gli SHA completi del commit.

**CommitMessage**  
Il messaggio di descrizione, se presente, associato al commit che ha attivato l'esecuzione della pipeline.

**CommitUrl**  
L'indirizzo URL per il commit che ha attivato la pipeline.

**RepositoryName**  
Il nome del GitHub repository in cui è stato effettuato il commit che ha attivato la pipeline.

**BranchName**  
Il nome del ramo del GitHub repository in cui è stata apportata la modifica all'origine.

**AuthorDate**  
La data in cui il commit è stato creato, in formato timestamp.

**CommitterDate**  
La data in cui è stato eseguito il commit, in formato timestamp.

### Dichiarazione di azione (GitHub esempio)
<a name="action-reference-GitHub-example"></a>

------
#### [ YAML ]

```
Name: Source
Actions:
  - InputArtifacts: []
    ActionTypeId:
      Version: '1'
      Owner: ThirdParty
      Category: Source
      Provider: GitHub
    OutputArtifacts:
      - Name: SourceArtifact
    RunOrder: 1
    Configuration:
      Owner: MyGitHubAccountName
      Repo: MyGitHubRepositoryName
      PollForSourceChanges: 'false'
      Branch: main
      OAuthToken: '{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}'
    Name: ApplicationSource
```

------
#### [ JSON ]

```
{
    "Name": "Source",
    "Actions": [
        {
            "InputArtifacts": [],
            "ActionTypeId": {
                "Version": "1",
                "Owner": "ThirdParty",
                "Category": "Source",
                "Provider": "GitHub"
            },
            "OutputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "RunOrder": 1,
            "Configuration": {
                "Owner": "MyGitHubAccountName",
                "Repo": "MyGitHubRepositoryName",
                "PollForSourceChanges": "false",
                "Branch": "main",
                "OAuthToken": "{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}"
            },
            "Name": "ApplicationSource"
        }
    ]
},
```

------

### Connessione a GitHub (OAuth)
<a name="action-reference-GitHub-auth"></a>

La prima volta che usi la console per aggiungere un GitHub repository a una pipeline, ti viene chiesto di autorizzare CodePipeline l'accesso ai tuoi repository. Il token richiede i seguenti ambiti: GitHub 
+ L'ambito `repo`, utilizzato per il controllo completo per leggere ed estrarre artefatti da repository pubblici e privati in una pipeline.
+ L'ambito `admin:repo_hook`, utilizzato per il controllo completo di hook di repository.

Quando si utilizza la CLI o un CloudFormation modello, è necessario fornire il valore per un token di accesso personale in cui è già stato creato. GitHub

### Consulta anche
<a name="action-reference-GitHub-links"></a>

Le risorse correlate seguenti possono essere utili durante l'utilizzo di questa operazione.
+ Risorsa di riferimento per la [Guida per AWS CloudFormation l'utente AWS::CodePipeline::Webhook](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html): include definizioni di campo, esempi e frammenti per la risorsa in. CloudFormation
+ Risorsa di riferimento per la [Guida per AWS CloudFormation l'utente AWS::CodeStar::GitHubRepository](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html): include definizioni di campo, esempi e frammenti per la risorsa in. CloudFormation
+ [Tutorial: crea una pipeline con cui creare e testare la tua app Android AWS Device Farm](tutorials-codebuild-devicefarm.md)— Questo tutorial fornisce un esempio di file di specifiche di build e un'applicazione di esempio per creare una pipeline con un sorgente. GitHub Crea e testa un'app Android con e. CodeBuild AWS Device Farm