Hallo, Entdecker! An dieser Seite wird aktiv gearbeitet, oder sie wird noch übersetzt. Die neuesten und genauesten Informationen findest Du in unserer englischsprachigen Dokumentation.

Authentication in a workflow

GitHub stellt ein Token zur Verfügung, mit dem Du Dich im Namen von GitHub Actions authentifizieren kannst.

GitHub Actions is available with GitHub Free, GitHub Pro, GitHub Free for organizations, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server, GitHub One, and GitHub AE. GitHub Actions ist nicht verfügbar für private Repositorys, die im Besitz von Konten mit älteren Pro-Repository-Plänen sind. For more information, see "GitHub's products."

Inhalt dieses Artikels

Informationen zum GITHUB_TOKEN-Geheimnis

GitHub erstellt automatisch ein GITHUB_TOKEN-Geheimnis für Deinen Workflow. Du kannst den GITHUB_TOKEN verwenden, um Dich in einem Workflow zu authentifizieren.

Wenn Du GitHub Actions aktivierst, installiert GitHub eine GitHub App in Deinem Repository. Das GITHUB_TOKEN-Geheimnis ist ein GitHub App-Token für Installations-Zugriff. Du kannst das Installationszugriffs-Token verwenden, um Dich im Namen der auf Deinem Repository installierten GitHub App zu authentifizieren. Die Berechtigungen des Tokens sind auf das Repository beschränkt, in dem sich der Workflow befindet. Weitere Informationen findest Du unter "Berechtigungen für das GITHUB_TOKEN."

Before each job begins, GitHub fetches an installation access token for the job. Das Token läuft ab, wenn der Auftrag abgeschlossen ist.

Das Token ist auch im github.token-Kontext verfügbar. Weitere Informationen findest Du unter "Kontext- und Ausdrucks-Syntax für GitHub Actions".

Das GITHUB_TOKEN in einem Workflow verwenden

Um das GITHUB_TOKEN-Geheimnis zu verwenden, musst Du es in Deiner Workflow-Datei referenzieren. Hierbei müssen Sie das Token ggf. als Eingabe für eine Aktion übergeben, für die dieses Token erforderlich ist, oder authentifizierte GitHub-API-Aufrufe ausführen.

Wenn Du den GITHUB_TOKEN des Repository verwendest, um Aufgaben im Auftrag der GitHub Actions App auszuführen, werden die vom GITHUB_TOKEN ausgelösten Ereignisse keine neue Workflow-Ausführung bereitstellen. Dadurch wird verhindert, dass Du versehentlich rekursive Workflow-Ausführung erstellst. Wenn z. B. eine Workflow-Ausführung Code mit dem GITHUB_TOKEN des Repository pusht, wird kein neuer Workflow ausgeführt, auch wenn das Repository einen Workflow enthält, welcher konfiguriert ist zur Ausführung wenn push Ereignisse auftreten.

Beispiel: Das GITHUB_TOKEN als Eingabe übergeben

Dieser Beispielworkflow verwendet die Labeler-Aktion, wofür das GITHUB_TOKEN als Wert für den Eingabeparameter repo-token benötigt wird:

name: Pull request labeler
on:
- pull_request_target
jobs:
  triage:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/labeler@v2
      with:
        repo-token: ${{ secrets.GITHUB_TOKEN }}

Beispiel zum Aufrufen der REST-API

Du kannst das GITHUB_TOKEN verwenden, um authentifizierte API-Aufrufe durchzuführen. Dieser Beispiel-Workflow erzeugt eine Lieferung („issue“) mittels der GitHub-REST-API:

name: Create issue on commit
on:
- push
jobs:
  create_commit:
    runs-on: ubuntu-latest
    steps:
    - name: Create issue using REST API
      run: |
        curl --request POST \
        --url https://api.github.com/repos/${{ github.repository }}/issues \
        --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
        --header 'content-type: application/json' \
        --data '{
          "title": "Automated issue for commit: ${{ github.sha }}",
          "body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**. \n\n Der Commit-Hash lautete: _'{{ github.sha }}_."
          }' \
        --fail

Berechtigungen für das GITHUB_TOKEN

For information about the API endpoints GitHub Apps can access with each permission, see "GitHub App Permissions."

BerechtigungZugriffstypZugriff durch geforktes Repository
actionsLesen/SchreibenLesen
checks (Prüfungen)Lesen/SchreibenLesen
contents (Inhalte)Lesen/SchreibenLesen
deploymentsLesen/SchreibenLesen
Issues (Lieferungen)Lesen/SchreibenLesen
MetadatenLesenLesen
PaketeLesen/SchreibenLesen
pull requestsLesen/SchreibenLesen
repository projectsLesen/SchreibenLesen
statuses (Statusangaben)Lesen/SchreibenLesen

Note: Workflow runs triggered by Dependabot pull requests run as if they are from a forked repository, and therefore use a read-only GITHUB_TOKEN. These workflow runs cannot access any secrets. See "Keeping your GitHub Actions and workflows secure: Preventing pwn requests" for strategies to keep these workflows secure.

Wenn Du ein Token benötigst, für das Berechtigungen erforderlich sind, die nicht im GITHUB_TOKEN-Geheimnis vorhanden sind, kannst Du ein persönliches Zugangstoken erstellen und als Geheimnis im Repository festlegen:

  1. Verwende oder erstelle ein Token mit den entsprechenden Berechtigungen für dieses Repository. Weitere Informationen finden Sie unter "Erstellen eines persönlichen Zugriffstokens."
  2. Füge das Token als Geheimnis in das Repository Deines Workflows ein, und verweise darauf mit der Syntax ${{ secrets.SECRET_NAME }}. Weitere Informationen findest Du unter "Verschlüsselte Geheimnisse erstellen und verwenden".

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Oder, learn how to contribute.