Skip to main content

Enterprise Server 3.20 ist derzeit als Release Candidate verfügbar.

Übergeben von Informationen zwischen Jobs

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

Definieren und Verwenden von Arbeitsergebnissen

  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: ${{ steps.step1.outputs.test }}
          output2: ${{ steps.step2.outputs.test }}
        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 Ergebnisse im abhängigen Auftrag zuzugreifen. Beispielsweise greift der folgende Auftrag auf die in output1 definierten output2- und job1-Ausgaben zu:

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

Nächste Schritte

Weitere Informationen zu Auftragsausgaben und dem needs-Kontext finden Sie in den folgenden Abschnitten von Workflowsyntax für GitHub Actions: