Syntax für Kontext und Ausdrücke bei GitHub-Aktionen

Du kannst in Workflows und Aktionen auf Kontextinformationen zugreifen und Ausdrücke auswerten.

GitHub Actions ist verfügbar mit GitHub Free, GitHub Pro, GitHub Free für Organisationen, GitHub Team, GitHub Enterprise Cloud, und 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."

Informationen zu Kontexten und Ausdrücken

Mit Ausdrücken können Sie programmatisch Variablen in Workflow-Dateien festlegen und auf Kontexte zugreifen. Ein Ausdruck kann eine beliebige Kombination aus literalen Werten, Verweisen auf einen Kontext und Funktionen sein. Du kannst Literale, Kontextverweise und Funktionen mithilfe von Operatoren kombinieren.

Ausdrücke werden häufig mit dem Bedingungs-Schlüsselwort if in einer Workflow-Datei verwendet, um zu entscheiden, ob ein Schritt ausgeführt werden soll. Wenn eine if-Bedingung true (wahr) ist, wird der Schritt ausgeführt.

Sie müssen eine spezielle Syntax verwenden, um GitHub mitzuteilen, dass ein Ausdruck nicht als Zeichenfolge behandelt, sondern ausgewertet werden soll.

${{ <expression> }}

When you use expressions in an if conditional, you may omit the expression syntax (${{ }}) because GitHub automatically evaluates the if conditional as an expression, unless the expression contains any operators. If the expression contains any operators, the expression must be contained within ${{ }} to explicitly mark it for evaluation. Weitere Informationen über Bedingungen mit iffindest Du unter „Workflow-Syntax für GitHub Actions“.

Warning: When creating workflows and actions, you should always consider whether your code might execute untrusted input from possible attackers. Certain contexts should be treated as untrusted input, as an attacker could insert their own malicious content. For more information, see "Understanding the risk of script injections."

Beispiel für einen Ausdruck in einer if-Anweisung
steps:
  - uses: actions/hello-world-javascript-action@v1.1
    if: ${{ <expression> }}
Beispiel zum Setzen einer Umgebungsvariablen
env:
  MY_ENV_VAR: ${{ <expression> }}

Kontexte

Kontexte sind eine Möglichkeit, auf Informationen zu Workflow-Läufen, Runner-Umgebungen, Jobs und Schritten zuzugreifen. Kontexte nutzen die Syntax für Ausdrücke.

${{ <context> }}

KontextnameTypBeschreibung
githubObjektInformationen zum Workflow-Lauf. Weitere Informationen findest Du unter „github-Kontext“.
envObjektEnthält Umgebungsvariablen, die in einem Workflow, Job oder Schritt festgelegt sind. Weitere Informationen findest Du unter env-Kontext.
AuftragObjektInformationen zum derzeit ausgeführten Job. Weitere Informationen findest Du unter „job-Kontext“.
stepsObjektInformationen zu den Schritten, die bei diesem Job ausgeführt wurden. Weitere Informationen findest Du unter „steps-Kontext“.
runnerObjektInformationen zu dem Runner, der den aktuellen Job ausführt. Weitere Informationen findest Du unter runner-Kontext.
secretsObjektErmöglicht den Zugriff auf Geheimnisse. Weitere Informationen über Geheimnisse findest Du unter „Verschlüsselte Geheimnisse erstellen und verwenden“.
strategyObjektErmöglicht den Zugriff auf die konfigurierten Strategieparameter und Informationen zum aktuellen Job. Zu Strategieparametern gehören fail-fast, job-index, job-total und max-parallel.
matrixObjektErmöglicht den Zugriff auf die Matrixparameter, die Du für den aktuellen Job konfiguriert hast. Wenn Du beispielsweise einen Matrix-Build mit den Versionen von os und node konfigurierst, umfasst das Kontextobjekt matrix die Versionen von os und node des aktuellen Auftrags.
needsObjektErmöglicht den Zugriff auf die Ausgaben aller Jobs, die als Abhängigkeit des aktuellen Jobs definiert sind. Weitere Informationen findest Du unter needs-Kontext.

Als Teil eines Ausdrucks kannst Du mit einer der beiden folgenden Syntaxarten auf Kontextinformationen zugreifen.

  • Index-Syntax: github['sha']
  • Syntax zur Dereferenzierung von Eigenschaften: github.sha

Bei der Eigenschaftsdereferenzierungs-Syntax muss der Eigenschaftsname

  • mit a-Z oder _ beginnen,
  • mit a-Z, 0-9, - oder _ weitergehen.

Determining when to use contexts

GitHub Actions includes a collection of variables called contexts and a similar collection of variables called default environment variables. These variables are intended for use at different points in the workflow:

  • Default environment variables: These variables exist only on the runner that is executing your job. For more information, see "Default environment variables."
  • Contexts: You can use most contexts at any point in your workflow, including when default environment variables would be unavailable. For example, you can use contexts with expressions to perform initial processing before the job is routed to a runner for execution; this allows you to use a context with the conditional if keyword to determine whether a step should run. Once the job is running, you can also retrieve context variables from the runner that is executing the job, such as runner.os. Weitere Informationen finden Sie unter „Kontexte“.

The following example demonstrates how these different types of environment variables can be used together in a job:

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 this example, the if statement checks the github.ref context to determine the current branch name; if the name is refs/heads/main, then the subsequent steps are executed. The if check is processed by GitHub Actions, and the job is only sent to the runner if the result is true. Once the job is sent to the runner, the step is executed and refers to the $GITHUB_REF environment variable from the runner.

github-Kontext

Der github-Kontext enthält Informationen zum Workflow-Lauf und zu dem Ereignis, das den Lauf ausgelöst hat. Du kannst die meisten github-Kontextdaten in Umgebungsvariablen lesen. Weitere Informationen über Umgebungsvariablen findest Du unter „Umgebungsvariablen verwenden“.

Warnung: Beachte bei der Verwendung des gesamten github Kontexts, dass er vertrauliche Informationen wie github.token enthält. GitHub maskiert Geheimnisse, wenn sie auf die Konsole ausgegeben werden, aber Du solltest beim Exportieren oder Drucken des Kontexts vorsichtig sein.

Warning: When creating workflows and actions, you should always consider whether your code might execute untrusted input from possible attackers. Certain contexts should be treated as untrusted input, as an attacker could insert their own malicious content. For more information, see "Understanding the risk of script injections."

Name der EigenschaftTypBeschreibung
githubObjektDer Top-Level-Kontext, der bei jedem Job oder Schritt im Workflow verfügbar ist.
github.actionstringDer Name der aktuell laufenden Aktion. GitHub entfernt Sonderzeichen oder verwendet den Namen run wenn der aktuelle Schritt ein Skript ausführt. Wenn Du dieselbe Aktion mehr als einmal im selben Job verwendest, enthält der Name ein Suffix mit der Sequenznummer. Zum Beispiel wird das erste Skript, das Du ausführst, den Namen run1haben, und das zweite Skript heißt run2. Ebenso wird die zweite Anrufung von actions/checkout actionscheckout2 sein.
github.action_pathstringThe path where your action is located. You can use this path to easily access files located in the same repository as your action. This attribute is only supported in composite run steps actions.
github.actorstringDer Anmeldename des Benutzers, der den Workflow-Lauf initiiert hat
github.base_refstringDas base_ref oder der Ziel-Branch des Pull Requests in einem Workflow-Lauf. This property is only available when the event that triggers a workflow run is either pull_request or pull_request_target.
github.eventObjektDie vollständige Nutzlast des Ereignis-Webhooks. Weitere Informationen findest Du unter „Ereignisse, die Workflows auslösen“. You can access individual properties of the event using this context.
github.event_namestringDer Name des Ereignisses, das den Workflow-Lauf ausgelöst hat.
github.event_pathstringDer Pfad zur vollständigen Event-Webhook-Nutzlast auf dem Runner.
github.head_refstringDas head_ref oder der Quell-Branch des Pull Requests in einem Workflow-Lauf. This property is only available when the event that triggers a workflow run is either pull_request or pull_request_target.
github.jobstringDie job_id des aktuellen Jobs.
github.refstringDas Branch- oder Tag-Ref, das den Workflow-Lauf ausgelöst hat. For branches this in the format refs/heads/<branch_name>, and for tags it is refs/tags/<tag_name>.
github.repositorystringDer Inhaber- und Repository-Name, z. B. Codertocat/Hello-World.
github.repository_ownerstringDer Name des Repository-Besitzers. Beispielsweise Codertocat.
github.run_idstringEine eindeutige Nummer für jede Ausführung innerhalb eines Repository. Diese Nummer ändert sich nicht, wenn Du den Workflowablauf erneut ausführst.
github.run_numberstringEine eindeutige Nummer für jede Ausführung eines bestimmten Workflows in einem Repository. Diese Nummer beginnt bei 1 für die erste Ausführung des Workflows und erhöht sich mit jeder neuen Ausführung. Diese Nummer ändert sich nicht, wenn Du den Workflowablauf erneut ausführst.
github.shastringDie Commit-SHA, die den Workflow-Lauf ausgelöst hat.
github.tokenstringEin Token zum Authentifizieren im Namen der in Deinem Repository installierten GitHub-App. Funktionell entspricht dies dem Geheimnis GITHUB_TOKEN. Weitere Informationen findest Du unter „Authentifizierung mit dem GITHUB_TOKEN".
github.workflowstringDer Name des Workflows. Wenn in der Workflow-Datei kein name (Name) festgelegt ist, entspricht der Wert dieser Eigenschaft dem vollständigen Pfad der Workflow-Datei im Repository.
github.workspacestringDas Standardarbeitsverzeichnis für Schritte und der Standardspeicherort Deines Repositorys bei Verwendung der Aktion checkout.

env-Kontext

Der env-Kontext enthält Umgebungsvariablen, die in einem Workflow, Job oder Schritt gesetzt wurden. Weitere Informationen über das Setzen von Umgebungsvariablen in Deinem Workflow findest Du unter „Workflow-Syntax für GitHub Actions“.

Mit der Syntax für den env-Kontext kannst Du den Wert einer Umgebungsvariable in Deiner Workflow-Datei verwenden. You can use the env context in the value of any key in a step except for the id and uses keys. Weitere Informationen zur Syntax für Schritte findest Du unter „Workflow-Syntax für GitHub Actions“.

Wenn Du den Wert einer Umgebungsvariable innerhalb eines Runners verwenden willst, dann verwende die normale Methode des Runner-Betriebssystems zum Lesen von Umgebungsvariablen.

Name der EigenschaftTypBeschreibung
envObjektDieser Kontext ändert sich bei jedem Schritt in einem Auftrag. Du kannst bei jedem Schritt in einem Auftrag auf diesen Kontext zugreifen.
env.<env_name>stringDer Wert einer bestimmten Umgebungsvariable.

job-Kontext

Der job-Kontext enthält Informationen zum gerade ausgeführten Auftrag.

Name der EigenschaftTypBeschreibung
AuftragObjektDieser Kontext ändert sich bei jedem Auftrag in einem Workflow-Lauf. Du kannst bei jedem Schritt in einem Auftrag auf diesen Kontext zugreifen.
job.containerObjektInformationen zum Container des Auftrags. Weitere Informationen zu Containern findest Du unter „Workflow-Syntax für GitHub Actions“.
job.container.idstringDie ID des Containers
job.container.networkstringDie ID des Container-Netzwerks. Der Runner erstellt das Netzwerk, das von allen Containern in einem Auftrag genutzt wird.
job.servicesObjektDie für einen Auftrag erstellten Dienstcontainer. Weitere Informationen zu Dienstcontainern findest Du unter „Workflow-Syntax für GitHub Actions“.
job.services.<service id>.idstringDie ID des Dienstcontainers
job.services.<service id>.networkstringDie ID des Dienstcontainer-Netzwerks. Der Runner erstellt das Netzwerk, das von allen Containern in einem Auftrag genutzt wird.
job.services.<service id>.portsObjektDie offengelegten Ports des Service-Containers
job.statusstringDer aktuelle Status des Auftrags. Mögliche Werte sind success (erfolgreich), failure (fehlgeschlagen) oder cancelled (abgebrochen).

steps-Kontext

Der steps-Kontext enthält Informationen zu den Schritten im aktuellen Job, die bereits ausgeführt wurden.

Name der EigenschaftTypBeschreibung
stepsObjektDieser Kontext ändert sich bei jedem Schritt in einem Auftrag. Du kannst bei jedem Schritt in einem Auftrag auf diesen Kontext zugreifen.
steps.<step id>.outputsObjektDer Satz an Ausgaben, die für diesen Schritt definiert wurden. Weitere Informationen findest Du unter „Metadaten-Syntax für GitHub Actions“.
steps.<step id>.conclusionstringDas Ergebnis eines abgeschlossenen Schritts nachdemcontinue-on-error (bei Fehler weitermachen) angewendet wurde. Mögliche Werte sind success (erfolgreich), failure (fehlgeschlagen), cancelled (abgebrochen) oder skipped (übersprungen). Wenn ein Schritt mit continue-on-error (bei Fehler weitermachen) fehlschlägt, ist outcome (Ergebnis) failure zwar (Fehler), aber conclusion (Schlussfolgerung) ist am Ende success (Erfolg).
steps.<step id>.outcomestringDas Ergebnis eines abgeschlossenen Schritts bevor continue-on-error (bei Fehler weitermachen) angewendet wird. Mögliche Werte sind success (erfolgreich), failure (fehlgeschlagen), cancelled (abgebrochen) oder skipped (übersprungen). Wenn ein Schritt mit continue-on-error (bei Fehler weitermachen) fehlschlägt, ist outcome (Ergebnis) failure zwar (Fehler), aber conclusion (Schlussfolgerung) ist am Ende success (Erfolg).
steps.<step id>.outputs.<output name>stringDer Wert einer bestimmten Ausgabe

runner-Kontext

Der runner-Kontext enthält Informationen über den Runner, der den aktuellen Job ausführt.

Name der EigenschaftTypBeschreibung
runner.osstringDas Betriebssystem des Runners, der den Job ausführt. Mögliche Werte sind Linux, Windows oder macOS.
runner.tempstringDer Pfad des temporären Verzeichnisses für den Runner. Dieses Verzeichnis ist zu Beginn jedes Auftrags garantiert leer, sogar bei selbst-gehosteten Runnern.
runner.tool_cachestringThe path of the directory containing some of the preinstalled tools for GitHub-hosted runners. For more information, see "Specifications for GitHub-hosted runners".

needs-Kontext

Der needs-Kontext enthält Ausgaben von allen Jobs, die als Abhängigkeit des aktuellen Jobs definiert sind. Weitere Informationen zur Definition von Jobabhängigkeiten findest Du unter „Workflow-Syntax für GitHub Actions“.

Name der EigenschaftTypBeschreibung
needs.<job id>ObjektEin einzelner Job, von dem der aktuelle Job abhängt.
needs.<job id>.outputsObjektDie Menge aller Ausgaben eines Jobs, von dem der aktuelle Job abhängt.
needs.<job id>.outputs.<output name>stringDer Wert einer bestimmten Ausgabe für einen Job, von dem der aktuelle Job abhängt.
needs.<job id>.resultstringDas Ergebnis eines Jobs, von dem der aktuelle Job abhängt. Mögliche Werte sind success (erfolgreich), failure (fehlgeschlagen), cancelled (abgebrochen) oder skipped (übersprungen).
Beispiel für die Ausgabe von Kontextinformationen in die Protokolldatei

Mit dem folgenden Beispiel einer Workflow-Datei kannst Du die Informationen einsehen, auf die in den einzelnen Kontexten zugegriffen werden kann.

Warnung: Beachte bei der Verwendung des gesamten github Kontexts, dass er vertrauliche Informationen wie github.token enthält. GitHub maskiert Geheimnisse, wenn sie auf die Konsole ausgegeben werden, aber Du solltest beim Exportieren oder Drucken des Kontexts vorsichtig sein.

.github/workflows/main.yml

on: push

jobs:
  one:
    runs-on: ubuntu-latest
    steps:
      - name: Dump GitHub context
        env:
          GITHUB_CONTEXT: ${{ toJSON(github) }}
        run: echo "$GITHUB_CONTEXT"
      - name: Dump job context
        env:
          JOB_CONTEXT: ${{ toJSON(job) }}
        run: echo "$JOB_CONTEXT"
      - name: Dump steps context
        env:
          STEPS_CONTEXT: ${{ toJSON(steps) }}
        run: echo "$STEPS_CONTEXT"
      - name: Dump runner context
        env:
          RUNNER_CONTEXT: ${{ toJSON(runner) }}
        run: echo "$RUNNER_CONTEXT"
      - name: Dump strategy context
        env:
          STRATEGY_CONTEXT: ${{ toJSON(strategy) }}
        run: echo "$STRATEGY_CONTEXT"
      - name: Dump matrix context
        env:
          MATRIX_CONTEXT: ${{ toJSON(matrix) }}
        run: echo "$MATRIX_CONTEXT"

Literale

In einem Ausdruck kannst Du die Datentypen boolean, null, number oder string verwenden. Bei booleschen Literalen wird die Groß- und Kleinschreibung nicht berücksichtigt. Du kannst also sowohl true als auch True benutzen.

DatentypLiteralwert
booleantrue oder false
null (nichts)null (nichts)
numberAlle von JSON unterstützten Zahlenformate
stringDu musst einfache Anführungszeichen verwenden. Maskiere einfache Anführungszeichen (Apostrophen) mit einem weiteren einfachen Anführungszeichen.
Beispiel
env:
  myNull: ${{ null }}
  myBoolean: ${{ false }}
  myIntegerNumber: ${{ 711 }}
  myFloatNumber: ${{ -9.2 }}
  myHexNumber: ${{ 0xff }}
  myExponentialNumber: ${{ -2.99-e2 }}
  myString: ${{ 'Mona the Octocat' }}
  myEscapedString: ${{ 'It''s open source!' }}

Operatoren

OperatorBeschreibung
( )Logische Gruppierung
[ ]Index
.Dereferenzierung einer Eigenschaft
!Nicht
<Kleiner als
<=Kleiner oder gleich
>Größer als
>=Größer oder gleich
==Gleich
!=Ungleich
&&Und
||Oder

GitHub führt einen nicht strengen Gleichheitsvergleich aus.

  • Wenn die Typen nicht übereinstimmen, wandelt GitHub den Typ in eine Zahl um. GitHub wandelt Daten verschiedener Typen folgendermaßen in eine Zahl um:

    TypErgebnis
    Null0
    Booleantrue gibt 1 zurück
    false gibt 0 zurück
    StringAus zulässigem JSON-Zahlenformat geparst, ansonsten NaN.
    Hinweis: Leere Strings geben 0 zurück.
    ArrayNaN
    ObjectNaN
  • Der Vergleich von einem NaN mit einem anderen NaN ergibt nicht true. Weitere Informationen findest Du in der „NaN-Mozilla-Dokumentation“.

  • GitHub ignoriert beim Vergleichen der Strings die Groß- und Kleinschreibung.

  • Objekte und Arrays werden nur dann als gleich betrachtet, wenn sie dieselbe Instanz sind.

Funktionen

GitHub bietet integrierte Funktionen, die Sie in Ausdrücken verwenden können. Manche Funktionen verwandeln Werte an einen String, um Vergleiche durchzuführen. GitHub übergibt Datentypen anhand der folgenden Umwandlungen an einen String:

TypErgebnis
Null''
Boolean'true' oder 'false'
NumberDezimalformat, bei großen Zahlen exponentiell
ArrayArrays werden nicht in einen String umgewandelt.
ObjectObjekte werden nicht in einen String umgewandelt.

contains

contains( search, item )

Gibt true zurück, wenn der item in search enthalten ist. Wenn search ein Array ist, gibt diese Funktion true zurück, wenn der item ein Element im Array ist. Wenn search ein String ist, gibt diese Funktion true zurück, wenn der item ein Teilstring von search ist. Bei dieser Funktion wird die Groß- und Kleinschreibung nicht berücksichtigt. Übergibt Werte an einen String.

Beispiel mit einem Array

contains(github.event.issue.labels.*.name, 'bug')

Beispiel mit einem String

contains('Hello world', 'llo') gibt true zurück.

startsWith

startsWith( searchString, searchValue )

Gibt true zurück, wenn der searchString mit searchValue beginnt. Bei dieser Funktion wird die Groß- und Kleinschreibung nicht berücksichtigt. Übergibt Werte an einen String.

Beispiel

startsWith('Hello world', 'He') gibt true zurück.

endsWith

endsWith( searchString, searchValue )

Gibt true zurück, wenn der searchString mit searchValue endet. Bei dieser Funktion wird die Groß- und Kleinschreibung nicht berücksichtigt. Übergibt Werte an einen String.

Beispiel

endsWith('Hello world', 'ld') gibt true zurück.

format

format( string, replaceValue0, replaceValue1, ..., replaceValueN)

Ersetzt die Werte im string durch die Variable replaceValueN. Variablen im string werden mit der {N}-Syntax festgelegt, wobei N eine Ganzzahl ist. Du musst mindestens einen replaceValue und string festlegen. Du kannst eine unbegrenzte Anzahl an Variablen (replaceValueN) verwenden. Escape curly braces using double braces.

Beispiel

Gibt „Hello Mona the Octocat“ zurück:

format('Hello {0} {1} {2}', 'Mona', 'the', 'Octocat')

Beispiel mit maskierten Klammern

Gibt „{Hello Mona the Octocat}“ zurück

format('{{Hello {0} {1} {2}!}}', 'Mona', 'the', 'Octocat')

join

join( array, optionalSeparator )

Der Wert für array kann ein Array oder ein String sein. Alle Werte im array werden in einem String zusammengeführt. Wenn Du optionalSeparator angibst, wird er zwischen den verketteten Werten eingefügt. Andernfalls wird der Standard-Trennzeichen , verwendet. Übergibt Werte an einen String.

Beispiel

join(github.event.issue.labels.*.name, ', ') kann „Bug, Hilfe gesucht“ zurückgeben

toJSON

toJSON(value)

Gibt eine Pretty-Print-JSON-Darstellung von value zurück. Diese Funktion hilft Dir bei der Fehlersuche in den Informationen, die in Kontexten enthalten sind.

Beispiel

toJSON(job) kann { "status": "Success" } zurückgeben.

fromJSON

fromJSON(value)

Returns a JSON object or JSON data type for value. You can use this function to provide a JSON object as an evaluated expression or to convert environment variables from a string.

Example returning a JSON object

Dieser Workflow legt eine JSON-Matrix in einem Job fest und übergibt sie mittels einer Ausgabe und fromJSON an den nächsten Job.

name: build
on: push
jobs:
  job1:
    runs-on: ubuntu-latest
    outputs:
      matrix: ${{ steps.set-matrix.outputs.matrix }}
    steps:
      - id: set-matrix
        run: echo "::set-output name=matrix::{\"include\":[{\"project\":\"foo\",\"config\":\"Debug\"},{\"project\":\"bar\",\"config\":\"Release\"}]}"
  job2:
    needs: job1
    runs-on: ubuntu-latest
    strategy:
      matrix: ${{fromJSON(needs.job1.outputs.matrix)}}
    steps:
      - run: build
Example returning a JSON data type

This workflow uses fromJSON to convert environment variables from a string to a Boolean or integer.

name: print
on: push
env: 
  continue: true
  time: 3
jobs:
  job1:
    runs-on: ubuntu-latest
    steps:
      - continue-on-error: ${{ fromJSON(env.continue) }}
        timeout-minutes: ${{ fromJSON(env.time) }}
        run: echo ...

hashFiles

hashFiles(path)

Gibt einen einzelnen Hash für den Satz von Dateien zurück, der dem Pfad-Muster entspricht. You can provide a single path pattern or multiple path patterns separated by commas. Der path ist relativ zum Verzeichnis GITHUB_WORKSPACE und kann nur Dateien innerhalb des GITHUB_WORKSPACE umfassen. Diese Funktion berechnet einen individuellen SHA-256-Hash für jede passende Datei und verwendet diese Hashes dann zur Berechnung eines endgültigen SHA-256-Hashs für den Satz von Dateien. Weitere Informationen über SHA-256 findest Du unter „SHA-2“.

Du kannst Zeichen zum Musterabgleich verwenden, um Dateien mit passenden Namen auszuwählen. Bei dem Musterabgleich unter Windows wird die Groß-/Kleinschreibung nicht beachtet. Weitere Informationen über unterstützte Zeichen zum Musterabgleich findest Du unter „Workflow-Syntax für GitHub Actions“.

Example with a single pattern

Passt zu jeder Datei package-lock.json im Repository.

hashFiles('**/package-lock.json')

Example with multiple patterns

Creates a hash for any package-lock.json and Gemfile.lock files in the repository.

hashFiles('**/package-lock.json', '**/Gemfile.lock')

Funktionen zur Prüfung des Job-Status

Du kannst die nachfolgenden Funktionen zum Statuscheck als Ausdrücke in if-Bedingungen verwenden. Wenn Dein if-Ausdruck keine Statusfunktion enthält, wird automatisch das Ergebnis success() zurückgegeben. Weitere Informationen zu if-Bedingungen findest Du unter „Workflow-Syntax für GitHub Actions“.

success (Erfolg)

Gibt true zurück, wenn keiner der vorherigen Schritte fehlgeschlagen ist oder abgebrochen wurde.

Beispiel
steps:
  ...
  - name: The job has succeeded
    if: ${{ success() }}

always

Gibt immer truezurück, sogar bei Abbruch. Ein Job oder Schritt wird nicht ausgeführt, wenn ein kritischer Fehler die Ausführung der Aufgabe verhindert. Beispiel: Quellen konnten nicht abgerufen werden.

Beispiel
if: ${{ always() }}

cancelled

Gibt true zurück, wenn der Workflow abgebrochen wurde.

Beispiel
if: ${{ cancelled() }}

failure (Fehlschlag)

Gibt true zurück, wenn irgend ein vorheriger Schritt des Jobs fehlschlägt.

Beispiel
steps:
  ...
  - name: The job has failed
    if: ${{ failure() }}

Objektfilter

Mit der Syntax * kannst Du einen Filter anwenden und passende Elemente in einer Sammlung auswählen.

Betrachte beispielsweise das Objekt-Array mit dem Namen fruits.

[
  { "name": "apple", "quantity": 1 },
  { "name": "orange", "quantity": 2 },
  { "name": "pear", "quantity": 1 }
]

Der Filter fruits.*.name gibt das Array [ "apple", "orange", "pear" ] zurück.

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.