# Kontexte

Erfahren Sie mehr über Kontexte in GitHub Actions.

## Informationen zu Kontexten

Kontexte sind eine Möglichkeit, auf Informationen zu Workflowausführungen, Variablen, Runnerumgebungen, Aufträge und Schritten zuzugreifen. Jeder Kontext ist ein Objekt, das Eigenschaften enthält, die Zeichenfolgen oder andere Objekte sein können.

Kontexte, Objekte und Eigenschaften variieren bei verschiedenen Workflowausführungsbedingungen erheblich. Beispielsweise wird der `matrix` Kontext nur für Aufträge in einer [Matrix](/de/enterprise-server@3.22/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idstrategymatrix) aufgefüllt.

Mithilfe der Syntax für Ausdrücke können Sie auf Kontexte zugreifen. Weitere Informationen finden Sie unter [Auswerten von Ausdrücken in Workflows und Aktionen](/de/enterprise-server@3.22/actions/reference/workflows-and-actions/expressions).

`${{ <context> }}`

> \[!WARNING]
> Beim Erstellen von Workflows und Aktionen sollten Sie immer berücksichtigen, ob Ihr Code möglicherweise Code aus nicht vertrauenswürdigen Eingaben potenzieller Angreifer ausführt. Bestimmte Kontexte sollten als nicht vertrauenswürdige Eingaben behandelt werden, da ein Angreifer seine eigenen schädlichen Inhalte einfügen könnte. Weitere Informationen finden Sie unter [Referenz zur sicheren Verwendung](/de/enterprise-server@3.22/actions/reference/security/secure-use#good-practices-for-mitigating-script-injection-attacks).

## Bestimmung des Einsatzzeitpunkts von Kontexten

GitHub Actions enthält eine Auflistung von Variablen, die als *Kontexte* bezeichnet werden, und eine ähnliche Auflistung von Variablen, die als *Standardvariablen* bezeichnet werden. Diese Variablen sind für den Einsatz an verschiedenen Stellen im Workflow vorgesehen.

* **Standardumgebungsvariablen:** Diese Umgebungsvariablen sind nur auf dem Runner vorhanden, der deinen Auftrag ausführt. Weitere Informationen finden Sie unter [Referenz für Variablen](/de/enterprise-server@3.22/actions/reference/workflows-and-actions/variables#default-environment-variables).
* **Kontexte:** Du kannst die meisten Kontexte an einem beliebigen Punkt in deinem Workflow verwenden, einschließlich wenn *Standardvariablen* nicht verfügbar sind. Du kannst beispielsweise Kontexte mit Ausdrücken verwenden, um die anfängliche Verarbeitung auszuführen, bevor der Auftrag zur Ausführung an einen Runner weitergeleitet wird; dadurch kannst du einen Kontext mit dem bedingten `if`-Schlüsselwort verwenden, um festzustellen, ob ein Schritt ausgeführt werden soll. Sobald der Auftrag ausgeführt wird, kannst du auch Kontextvariablen aus dem Runner abrufen, der den Auftrag ausführt, so wie `runner.os`. Ausführliche Informationen dazu, wo du verschiedene Kontexte innerhalb eines Workflows verwenden kannst, findest du unter [Kontextreferenz](/de/enterprise-server@3.22/actions/reference/workflows-and-actions/contexts#context-availability).

Im folgenden Beispiel wird veranschaulicht, wie diese verschiedenen Variablentypen in einem Auftrag zusammen verwendet werden können:

```yaml copy
name: CI
on: push
jobs:
  prod-check:
    if: ${{ github.ref == 'refs/heads/main' }}
    runs-on: ubuntu-latest
    steps:
      - run: echo "Deploying to production server on branch $GITHUB_REF"
```

In diesem Beispiel überprüft die `if`-Anweisung den Kontext, um den [`github.ref`](/de/enterprise-server@3.22/actions/reference/workflows-and-actions/contexts#github-context) aktuellen Zweignamen zu ermitteln; wenn der Name `refs/heads/main` lautet, werden die nachfolgenden Schritte ausgeführt. Die `if` Prüfung wird von GitHub Actions bearbeitet, und der Auftrag wird nur an den Runner gesendet, wenn `true` das Ergebnis ist. Sobald der Auftrag an den Runner gesendet wird, wird der Schritt ausgeführt und verweist auf die [`$GITHUB_REF`](/de/enterprise-server@3.22/actions/how-tos/write-workflows/choose-what-workflows-do/use-variables)-Variable des Runners.