{"meta":{"title":"Передача сведений между заданиями","intro":"Выходные данные можно определить для передачи информации из одного задания в другое.","product":"GitHub Actions","breadcrumbs":[{"href":"/ru/actions","title":"GitHub Actions"},{"href":"/ru/actions/how-tos","title":"Инструкции"},{"href":"/ru/actions/how-tos/write-workflows","title":"Написание рабочих процессов"},{"href":"/ru/actions/how-tos/write-workflows/choose-what-workflows-do","title":"Выбор рабочих процессов"},{"href":"/ru/actions/how-tos/write-workflows/choose-what-workflows-do/pass-job-outputs","title":"Передача выходных данных задания"}],"documentType":"article"},"body":"# Передача сведений между заданиями\n\nВыходные данные можно определить для передачи информации из одного задания в другое.\n\n## Определение и использование выходных данных задания\n\n1. Откройте файл рабочего процесса, содержащий задание, из которого нужно получить выходные данные.\n\n2. `jobs.<job_id>.outputs` Используйте синтаксис для определения выходных данных для задания. Например, следующее задание определяет `output1` и `output2` выходные данные, которые сопоставляются с результатами `step1` и `step2` соответственно:\n\n   ```yaml\n   jobs:\n     job1:\n       runs-on: ubuntu-latest\n       outputs:\n         output1: ${{ steps.step1.outputs.test }}\n         output2: ${{ steps.step2.outputs.test }}\n       steps:\n         - id: step1\n           run: echo \"test=hello\" >> \"$GITHUB_OUTPUT\"\n         - id: step2\n           run: echo \"test=world\" >> \"$GITHUB_OUTPUT\"\n   ```\n\n3. В отдельном задании, где требуется получить доступ к этим выходным данным, используйте `jobs.<job_id>.needs` синтаксис, чтобы он зависел от исходного задания. Например, следующие проверки `job1` задания выполняются перед выполнением:\n\n   ```yaml\n   jobs:\n     # Assume job1 is defined as above\n     job2:\n       runs-on: ubuntu-latest\n       needs: job1\n   ```\n\n4. Чтобы получить доступ к выходным данным в зависимом задании, используйте `needs.<job_id>.outputs.<output_name>` синтаксис. Например, следующее задание обращается к `output1` данным и `output2` выходным данным, определенным в `job1`:\n\n   ```yaml\n   jobs:\n     # Assume job1 is defined as above\n     job2:\n       runs-on: ubuntu-latest\n       needs: job1\n       steps:\n         - env:\n             OUTPUT1: ${{needs.job1.outputs.output1}}\n             OUTPUT2: ${{needs.job1.outputs.output2}}\n           run: echo \"$OUTPUT1 $OUTPUT2\"\n   ```\n\n## Следующие шаги\n\nДополнительные сведения о выходных данных задания и `needs` контексте см. в следующих разделах [Синтаксис рабочего процесса для GitHub Actions](/ru/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idoutputs):\n\n* [`jobs.<job_id>.outputs`](/ru/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idoutputs)\n* [`jobs.<job_id>.needs`](/ru/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idneeds)\n\nЧтобы узнать больше о передаче результатов заданий из одного рабочего процесса в другой, смотрите следующий раздел [Повторное использование рабочих процессов](/ru/actions/how-tos/reuse-automations/reuse-workflows):\n\n* [Использование выходов из многоразового рабочего процесса](/ru/actions/how-tos/reuse-automations/reuse-workflows#using-outputs-from-a-reusable-workflow)"}