Skip to main content

Передача сведений между заданиями

Выходные данные можно определить для передачи информации из одного задания в другое.

Определение и использование выходных данных задания

  1. Откройте файл рабочего процесса, содержащий задание, из которого нужно получить выходные данные.

  2. jobs.<job_id>.outputs Используйте синтаксис для определения выходных данных для задания. Например, следующее задание определяет output1 и output2 выходные данные, которые сопоставляются с результатами step1 и step2 соответственно:

    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. В отдельном задании, где требуется получить доступ к этим выходным данным, используйте jobs.<job_id>.needs синтаксис, чтобы он зависел от исходного задания. Например, следующие проверки job1 задания выполняются перед выполнением:

    jobs:
      # Assume job1 is defined as above
      job2:
        runs-on: ubuntu-latest
        needs: job1
    
  4. Чтобы получить доступ к выходным данным в зависимом задании, используйте needs.<job_id>.outputs.<output_name> синтаксис. Например, следующее задание обращается к output1 данным и output2 выходным данным, определенным в job1:

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

Следующие шаги

Дополнительные сведения о выходных данных задания и needs контексте см. в следующих разделах Синтаксис рабочего процесса для GitHub Actions: