Wenn die if Bedingung eines Auftrags ausgewertet wird, protokolliert GitHub Actions die Ausdrucksauswertung, um das Ergebnis nachvollziehbar zu machen. Dies ist nützlich für das Debuggen sowohl, warum ein Auftrag übersprungen wurde, als auch, warum ein Auftrag ausgeführt wurde, obwohl Sie erwartet haben, dass er übersprungen wird.
Zugriff auf Expressionsprotokolle
- Navigieren Sie zur Workflowausführungszusammenfassung.
- Klicken Sie auf den Job.
- Klicken Sie auf .
- Wählen Sie "Protokollarchiv herunterladen" aus.
- Extrahieren Sie die ZIP-Datei, und öffnen Sie die
JOB-NAME/system.txtDatei.
Grundlegendes zur Protokollausgabe
Das Systemprotokoll zeigt die Ausdrucksauswertung an:
Evaluating: (success() && ((github.repository == 'octo-org/octo-repo-prod')))
Expanded: (true && (('my-username/octo-repo-prod' == 'octo-org/octo-repo-prod')))
Result: false
| Zeilen | Description |
|---|
**Bewertung** | Der ursprüngliche `if` Ausdruck aus der Workflowdatei. |
|
Expanded | Der Ausdruck mit ersetzten Kontextwerten. Dies zeigt Ihnen genau, welche Werte zur Laufzeit verwendet wurden. |
|
Result | Das endgültige Auswertungsergebnis (true oder false). |
In diesem Beispiel zeigt die erweiterte Zeile, dass github.repository``'my-username/octo-repo-prod' ist (nicht 'octo-org/octo-repo-prod'), was dazu führt, dass die Bedingung zu false ausgewertet wird.
Hinweis
Ausdrucksprotokolle sind nur für Job-Level if Bedingungen verfügbar. Für Bedingungen auf Schrittebene können Sie die Debugprotokollierung aktivieren, um die Ausdrucksauswertung in den Auftragsprotokollen anzuzeigen. Weitere Informationen finden Sie unter Aktivieren der Debugprotokollierung.