Hinweis: GitHub-gehostete Runner werden auf GitHub Enterprise Server derzeit nicht unterstützt. Weitere Informationen zur geplanten zukünftigen Unterstützung findest Du in der GitHub public roadmap.
Übersicht
Hinweis: Der Status eines übersprungenen Auftrags wird als „Erfolgreich“ gemeldet. Die Zusammenführung eines Pull Requests wird dadurch nicht verhindert, selbst wenn es sich um eine erforderliche Überprüfung handelt.
Mit der Bedingung jobs.<job_id>.if
kannst du dafür sorgen, dass ein Schritt nur ausgeführt wird, wenn eine Bedingung erfüllt ist. Du kannst eine Bedingung mit jedem unterstützten Kontext und Ausdruck erstellen. Weitere Informationen dazu, welche Kontexte in diesem Schlüssel unterstützt werden, findest du unter Kontexte.
Wenn du Ausdrücke in einer if
-Bedingung verwendest, kannst du die Syntax des Ausdrucks (${{ }}
) weglassen, weil GitHub automatisch die if
-Bedingung als Ausdruck wertet. Weitere Informationen findest du unter Ausdrücke.
Beispiel: Ausführen eines Auftrags nur für bestimmte Repositorys
In diesem Beispiel wird if
verwendet, um zu steuern, wann der Auftrag production-deploy
ausgeführt werden kann. Er wird nur ausgeführt, wenn das Repository octo-repo-prod
heißt und sich innerhalb der Organisation octo-org
befindet. Andernfalls wird der Auftrag als übersprungen markiert.
name: example-workflow
on: [push]
jobs:
production-deploy:
if: github.repository == 'octo-org/octo-repo-prod'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '14'
- run: npm install -g bats
Bei einem übersprungenen Auftrag sollte „Diese Überprüfung wurde übersprungen“ angezeigt werden.
Hinweis: In einigen Teilen des Workflows kannst du keine Umgebungsvariablen verwenden. Stattdessen kannst du Kontexte verwenden, um auf den Wert einer Umgebungsvariablen zuzugreifen. Weitere Informationen findest du unter Variablen.