Skip to main content

Übergeben von Informationen zwischen Jobs

Sie können Ausgaben definieren, um Informationen von einem Job an einen anderen zu übergeben.

Definieren und Verwenden von Auftragsausgaben

  1. Öffne die Workflowdatei, die den Auftrag enthält, von dem du Ausgaben abrufen möchtest.

  2. Verwende die jobs.<job_id>.outputs-Syntax, um die Ausgaben für den Auftrag zu definieren. Der folgende Auftrag definiert z. B. die output1- und output2-Ausgaben, die den Ergebnissen von step1 und step2 zugeordnet sind:

    jobs:
      job1:
        runs-on: ubuntu-latest
        outputs:
          output1: $
          output2: $
        steps:
          - id: step1
            run: echo "test=hello" >> "$GITHUB_OUTPUT"
          - id: step2
            run: echo "test=world" >> "$GITHUB_OUTPUT"
    
  3. Verwende in einem separaten Auftrag, in dem du auf diese Ausgaben zugreifen möchtest, die jobs.<job_id>.needs-Syntax, um sie abhängig vom ursprünglichen Auftrag zu machen. Der folgende Auftrag überprüft beispielsweise, ob job1 abgeschlossen ist, bevor er ausgeführt wird:

    jobs:
      # Assume job1 is defined as above
      job2:
        runs-on: ubuntu-latest
        needs: job1
    
  4. Verwende die needs.<job_id>.outputs.<output_name>-Syntax, um auf die Ausgaben im abhängigen Auftrag zuzugreifen. Beispielsweise greift der folgende Auftrag auf die in job1 definierten output1- und output2-Ausgaben zu:

    jobs:
      # Assume job1 is defined as above
      job2:
        runs-on: ubuntu-latest
        needs: job1
        steps:
          - env:
              OUTPUT1: $
              OUTPUT2: $
            run: echo "$OUTPUT1 $OUTPUT2"
    

Nächste Schritte

Weitere Informationen zu Auftragsausgaben und needs-Kontext findest du in den folgenden Abschnitten Workflowsyntax für GitHub Actions: