Overview
Hinweis
Der Status eines übersprungenen Auftrags wird als „Success“ angezeigt. 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 Zugreifen auf kontextbezogene Informationen zu Workflowausführungen.
Hinweis
Die jobs.<job_id>.if
-Bedingung wird vor dem Anwenden von jobs.<job_id>.strategy.matrix
ausgewertet.
Wenn du Ausdrücke in einer if
-Bedingung verwendest, kannst du optional die ${{ }}
-Ausdruckssyntax weglassen, da GitHub Actions die if
-Bedingung automatisch als Ausdruck wertet. Diese Ausnahme gilt jedoch nicht überall.
Du musst immer die Syntax des ${{ }}
-Ausdrucks verwenden oder mit ''
, ""
oder ()
abbrechen, wenn der Ausdruck mit !
beginnt, da !
die reservierte Schreibweise im YAML-Format ist. Zum Beispiel:
if: ${{ ! startsWith(github.ref, 'refs/tags/') }}
Weitere Informationen findest du unter Auswerten von Ausdrücken in Workflows und Aktionen.
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@v4 - uses: actions/setup-node@v4 with: node-version: '14' - run: npm install -g bats
name: example-workflow
on: [push]
jobs:
production-deploy:
if: github.repository == 'octo-org/octo-repo-prod'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '14'
- run: npm install -g bats
On a skipped job, you should see "This check was skipped."
Hinweis
In some parts of the workflow you cannot use environment variables. Instead you can use contexts to access the value of an environment variable. For more information, see Store information in variables.