

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Anhang A: GitHub Quellaktionen (über die OAuth-App)
<a name="appendix-github-oauth"></a>

Dieser Anhang enthält Informationen zur Aktion GitHub (über die OAuth-App) in. CodePipeline

**Anmerkung**  
Wir empfehlen zwar nicht, die Aktion GitHub (über die OAuth-App) zu verwenden, aber bestehende Pipelines mit der Aktion GitHub (über die OAuth-App) funktionieren weiterhin ohne Auswirkungen. Bei einer Pipeline mit einer Aktion GitHub (über die OAuth-App) werden Tokens CodePipeline verwendet OAuth-based , um eine Verbindung zu deinem Repository herzustellen. GitHub Im Gegensatz dazu verwendet die GitHub Aktion (per GitHub App) eine Verbindungsressource, um AWS Ressourcen mit deinem GitHub Repository zu verknüpfen. Die Verbindungsressource verwendet App-basierte Token, um eine Verbindung herzustellen. Weitere Informationen zur Aktualisierung Ihrer Pipeline auf die empfohlene GitHub Aktion, die eine Verbindung verwendet, finden Sie unter[Aktualisieren Sie eine Quellaktion GitHub (über die OAuth-App) auf eine Quellaktion GitHub (über die GitHub App)](update-github-action-connections.md). Weitere Informationen zum OAuth-based GitHub Zugriff im Gegensatz zum App-basierten GitHub Zugriff finden Sie unter[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).

 CodePipeline Verwendet für die Integration GitHub eine GitHub OAuth-Anwendung für Ihre Pipeline. CodePipelineverwendet Webhooks, um die Änderungserkennung für Ihre Pipeline mit der Quellaktion GitHub (über die OAuth-App) zu verwalten.

**Anmerkung**  
Wenn Sie eine Quellaktion GitHub (über die GitHub App) in konfigurieren CloudFormation, geben Sie keine GitHub Token-Informationen an und fügen auch keine Webhook-Ressource hinzu. Sie konfigurieren eine Verbindungsressource, wie in [AWS::CodeStarConnections: :Connection ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html) im * CloudFormation Benutzerhandbuch gezeigt. *

Diese Referenz enthält die folgenden Abschnitte für die Aktion GitHub (über die OAuth-App):
+ Informationen zum Hinzufügen einer Quellaktion und eines GitHub Webhooks (über die OAuth-App) zu einer Pipeline finden Sie unter. [Hinzufügen einer GitHub Quellaktion (über die OAuth-App)](#appendix-github-methods)
+ Hinweise zu den Konfigurationsparametern und YAML/JSON Beispielausschnitten für eine Quellaktion GitHub (über die OAuth-App) finden Sie unter. [GitHub Referenz zur Quellaktion (über die OAuth-App)](#action-reference-GitHub)

**Wichtig**  
Verwenden Sie beim Erstellen von CodePipeline Webhooks nicht Ihre eigenen Anmeldeinformationen und verwenden Sie nicht dasselbe geheime Token für mehrere Webhooks wieder. Generieren Sie für optimale Sicherheit ein eindeutiges geheimes Token für jeden Webhook, den Sie erstellen. Das geheime Token ist eine beliebige Zeichenfolge, die Sie angeben und mit der die GitHub Webhook-Payloads berechnet und signiert werden, an die gesendeten Webhook-Payloads CodePipeline, um die Integrität und Authentizität der Webhook-Payloads zu schützen. Die Verwendung Ihrer eigenen Anmeldeinformationen oder die Wiederverwendung desselben Tokens in mehreren Webhooks kann zu Sicherheitslücken führen.

**Anmerkung**  
Wenn ein geheimes Token bereitgestellt wurde, wird es in der Antwort redigiert.

**Topics**
+ [Hinzufügen einer GitHub Quellaktion (über die OAuth-App)](#appendix-github-methods)
+ [GitHub Referenz zur Quellaktion (über die OAuth-App)](#action-reference-GitHub)

## Hinzufügen einer GitHub Quellaktion (über die OAuth-App)
<a name="appendix-github-methods"></a>

Sie fügen GitHub (über die OAuth-App) Quellaktionen hinzu, indem Sie: CodePipeline 
+ Verwenden Sie den ** Assistenten zum ** Erstellen einer Pipeline in der CodePipeline Konsole ([Erstellen Sie eine benutzerdefinierte Pipeline (Konsole)](pipelines-create.md#pipelines-create-console)) oder auf der ** Aktionsseite ** „Bearbeiten“, um die ** GitHub ** Anbieteroption auszuwählen. Die Konsole erstellt einen Webhook, der Ihre Pipeline startet, wenn sich die Quelle ändert.
+ Verwenden Sie die CLI, um die Aktionskonfiguration für die `GitHub` Aktion hinzuzufügen und zusätzliche Ressourcen wie folgt zu erstellen:
  + Verwenden Sie die `GitHub` Beispiel-Aktionskonfiguration unter[GitHub Referenz zur Quellaktion (über die OAuth-App)](#action-reference-GitHub), um die Aktion zu erstellen, wie unter gezeigt[Erstellen einer Pipeline (CLI)](pipelines-create.md#pipelines-create-cli).
  + Deaktivierung regelmäßiger Überprüfungen und manuelles Erstellen der Änderungserkennung, da bei der Methode zur Änderungserkennung standardmäßig die Pipeline durch Abfragen der Quelle gestartet wird. Sie migrieren Ihre Polling-Pipeline für Aktionen GitHub (über die OAuth-App) zu Webhooks.

## GitHub Referenz zur Quellaktion (über die OAuth-App)
<a name="action-reference-GitHub"></a>

**Anmerkung**  
Wir empfehlen zwar nicht, die Aktion GitHub (über die OAuth-App) zu verwenden, aber bestehende Pipelines mit der Aktion GitHub (über die OAuth-App) funktionieren weiterhin ohne Auswirkungen. Bei einer Pipeline mit einer Quellaktion GitHub (über die OAuth-App) werden Tokens CodePipeline verwendet OAuth-based , um eine Verbindung zu deinem Repository herzustellen. GitHub Im Gegensatz dazu verwendet die neue GitHub Aktion (per GitHub App) eine Verbindungsressource, um AWS Ressourcen mit deinem GitHub Repository zu verknüpfen. Die Verbindungsressource verwendet App-basierte Token, um eine Verbindung herzustellen. Weitere Informationen zur Aktualisierung Ihrer Pipeline auf die empfohlene GitHub Aktion, die eine Verbindung verwendet, finden Sie unter[Aktualisieren Sie eine Quellaktion GitHub (über die OAuth-App) auf eine Quellaktion GitHub (über die GitHub App)](update-github-action-connections.md).

Löst die Pipeline aus, wenn ein neuer Commit für das konfigurierte GitHub Repository und den Branch vorgenommen wird.

 CodePipeline Verwendet für die Integration GitHub eine OAuth-Anwendung oder ein persönliches Zugriffstoken für Ihre Pipeline. Wenn Sie die Konsole verwenden, um Ihre Pipeline zu erstellen oder zu bearbeiten, CodePipeline erstellt sie einen GitHub Webhook, der Ihre Pipeline startet, wenn eine Änderung im Repository erfolgt.

Sie müssen bereits ein GitHub Konto und ein Repository erstellt haben, bevor Sie die Pipeline über eine GitHub Aktion verbinden.

Wenn Sie den Zugriff auf CodePipeline Repositorys einschränken möchten, erstellen Sie ein GitHub Konto und gewähren Sie dem Konto nur Zugriff auf die Repositorys, mit denen Sie eine Integration durchführen möchten. CodePipeline Verwenden Sie dieses Konto, wenn Sie die Verwendung von GitHub Repositorys für Quellphasen in Pipelines konfigurieren CodePipeline .

Weitere Informationen finden Sie in der [ GitHub Entwicklerdokumentation ](https://developer.github.com) auf der GitHub Website.

**Topics**
+ [Aktionstyp](#action-reference-GitHub-type)
+ [Konfigurationsparameter](#action-reference-GitHub-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-GitHub-input)
+ [Ausgabeartefakte](#action-reference-GitHub-output)
+ [Ausgabevariablen](#action-reference-GitHub-variables)
+ [Aktionserklärung (GitHub Beispiel)](#action-reference-GitHub-example)
+ [Verbindung zu GitHub (OAuth) herstellen](#action-reference-GitHub-auth)
+ [Weitere Informationen finden Sie auch unter](#action-reference-GitHub-links)

### Aktionstyp
<a name="action-reference-GitHub-type"></a>
+ Kategorie: `Source`
+ Eigentümer: `ThirdParty`
+ Anbieter: `GitHub`
+ Version: `1`

### Konfigurationsparameter
<a name="action-reference-GitHub-config"></a>

**Eigentümer**  
Erforderlich: Ja  
Der Name des GitHub Benutzers oder der Organisation, dem/der das GitHub Repository gehört.

**Repo**  
Erforderlich: Ja  
Der Name des Repositorys, in dem Quelländerungen erkannt werden sollen.

**Verzweigung**  
Erforderlich: Ja  
Der Name des Zweigs, in dem Quelländerungen erkannt werden sollen.

**OAuthToken**  
Erforderlich: Ja  
Stellt das GitHub Authentifizierungstoken dar, mit CodePipeline dem Operationen in Ihrem GitHub Repository ausgeführt werden können. Die Eingabe wird stets als Maske mit vier Sternchen angezeigt. Sie stellt einen der folgenden Werte dar:  
+ Wenn Sie die Konsole verwenden, um die Pipeline zu erstellen, CodePipeline verwendet ein OAuth-Token, um die GitHub Verbindung zu registrieren.
+ Wenn Sie die verwenden, AWS CLI um die Pipeline zu erstellen, können Sie in diesem Feld Ihr GitHub persönliches Zugriffstoken übergeben. Ersetzen Sie die Sternchen (\*\*\*\*) durch Ihr persönliches Zugriffstoken, von dem Sie kopiert wurden. GitHub Wenn Sie `get-pipeline` ausführen, um die Aktionskonfiguration anzuzeigen, wird dieser Wert durch vier Sternchen maskiert angezeigt.
+ Wenn Sie eine CloudFormation Vorlage verwenden, um die Pipeline zu erstellen, müssen Sie das Token zunächst als Geheimnis in speichern. AWS Secrets Manager Sie fügen den Wert für dieses Feld als dynamischen Verweis auf das gespeicherte Geheimnis in Secrets Manager ein, z. `{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}` B.
Weitere Informationen zu GitHub Bereichen finden Sie in der [ GitHub Developer API Reference ](https://developer.github.com/v3/oauth/#scopes) auf der GitHub Website.

**PollForSourceChanges**  
Erforderlich: Nein  
`PollForSourceChanges`steuert, ob das GitHub Repository nach Quelländerungen CodePipeline abgefragt wird. Es wird empfohlen, stattdessen Webhooks zu verwenden, um Quelländerungen zu erkennen. Weitere Informationen zum Konfigurieren von Webhooks finden Sie unter [Migrieren Sie Polling-Pipelines zu Webhooks GitHub (über die OAuth-App) (Quellaktionen) (CLI)](update-change-detection.md#update-change-detection-cli-github) oder [Aktualisieren Sie die Pipelines für Push-Ereignisse GitHub (über die OAuth-App) (Quellaktionen) (CloudFormation Vorlage)](update-change-detection.md#update-change-detection-cfn-github).  
Wenn Sie Webhooks konfigurieren möchten, müssen Sie `PollForSourceChanges` auf `false` festlegen, um doppelte Pipeline-Ausführungen zu vermeiden.
Gültige Werte für diesen Parameter sind:  
+ `True`: Falls gesetzt, CodePipeline fragt es dein Repository nach Änderungen an der Quelle ab.
**Anmerkung**  
Wenn du es auslässt`PollForSourceChanges`, wird dein Projektarchiv CodePipeline standardmäßig nach Änderungen an der Quelle abgefragt. Dieses Verhalten ist das gleiche, als ob `PollForSourceChanges` auf `true` festgelegt würde.
+ `False`: Wenn gesetzt, fragt dein Projektarchiv CodePipeline nicht nach Änderungen an der Quelle ab. Sie verwenden diese Einstellung, wenn Sie einen Webhook konfigurieren möchten, um Quelländerungen zu erkennen.

### Input artifacts (Eingabeartefakte)
<a name="action-reference-GitHub-input"></a>
+ **Anzahl der Artefakte: ** `0`
+ **Beschreibung:** Eingabe-Artefakte sind für diesen Aktionstyp nicht gültig.

### Ausgabeartefakte
<a name="action-reference-GitHub-output"></a>
+ **Anzahl der Artefakte: ** `1` 
+ **Beschreibung:** Das Ausgabe-Artefakt dieser Aktion ist eine ZIP-Datei, die den Inhalt des konfigurierten Repositorys und Zweigs beim Commit enthält, der als Quellrevision für die Pipeline-Ausführung angegeben wurde. Die aus dem Repository generierten Artefakte sind die Ausgabeartefakte für die GitHub Aktion. Die Commit-ID des Quellcodes wird CodePipeline als Quellversion für die ausgelöste Pipeline-Ausführung angezeigt.

### Ausgabevariablen
<a name="action-reference-GitHub-variables"></a>

Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Diese Aktion erzeugt Variablen, die als Ausgabevariablen angezeigt werden können, auch wenn die Aktion keinen Namespace hat. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen.

Weitere Hinweise zu Variablen in CodePipeline finden Sie unter[Variablenreferenz](reference-variables.md).

**CommitId**  
Die GitHub Commit-ID, die die Pipeline-Ausführung ausgelöst hat. Commit-IDs sind der vollständige SHA des Commits.

**CommitMessage**  
Die Beschreibungsmeldung (wenn vorhanden), die dem Commit zugeordnet ist, der die Pipeline-Ausführung ausgelöst hat.

**CommitUrl**  
Die URL-Adresse für den Commit, der die Pipeline ausgelöst hat.

**RepositoryName**  
Der Name des GitHub Repositorys, in dem der Commit vorgenommen wurde, der die Pipeline ausgelöst hat.

**BranchName**  
Der Name des Branches für das GitHub Repository, in dem die Quelländerung vorgenommen wurde.

**AuthorDate**  
Das Datum im Zeitstempelformat, an dem der Commit erstellt wurde.

**CommitterDate**  
Das Datum im Zeitstempelformat, an dem der Commit durchgeführt wurde.

### Aktionserklärung (GitHub Beispiel)
<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"
        }
    ]
},
```

------

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

Wenn Sie die Konsole zum ersten Mal verwenden, um einer Pipeline ein GitHub Repository hinzuzufügen, werden Sie aufgefordert, den CodePipeline Zugriff auf Ihre Repositorys zu autorisieren. Das Token erfordert die folgenden Bereiche: GitHub 
+ Den `repo`- Umfang, der für die volle Kontrolle verwendet wird, um Artefakte aus öffentlichen und privaten Repositorys in eine Pipeline zu lesen und einzufügen.
+ Den `admin:repo_hook` Umfang, der für die volle Kontrolle über Repository-Hooks verwendet wird.

Wenn Sie die CLI oder eine CloudFormation Vorlage verwenden, müssen Sie den Wert für ein persönliches Zugriffstoken angeben, das Sie bereits erstellt haben. GitHub

### Weitere Informationen finden Sie auch unter
<a name="action-reference-GitHub-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ Ressourcenreferenz für das [AWS CloudFormation Benutzerhandbuch AWS::CodePipeline: :Webhook ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html) — Dazu gehören Felddefinitionen, Beispiele und Schnipsel für die Ressource in. CloudFormation
+ Ressourcenreferenz für das [AWS CloudFormation Benutzerhandbuch AWS::CodeStar:: GitHubRepository ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html) — Dazu gehören Felddefinitionen, Beispiele und Ausschnitte für die Ressource in. CloudFormation
+ [Tutorial: Erstellen Sie eine Pipeline, die Ihre Android-App erstellt und testet mit AWS Device Farm](tutorials-codebuild-devicefarm.md)— Dieses Tutorial enthält eine Beispiel-Buildspec-Datei und eine Beispielanwendung zum Erstellen einer Pipeline mit einer Quelle. GitHub Es erstellt und testet eine Android-App mit und. CodeBuild AWS Device Farm