HTTP/2 301
access-control-allow-origin: *
content-security-policy: default-src 'none';prefetch-src 'self';connect-src 'self';font-src 'self' data:;img-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com data: placehold.it;object-src 'self';script-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com 'self' data: 'unsafe-inline';script-src-attr 'self';frame-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com https://support.github.com https://www.youtube-nocookie.com;frame-ancestors 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com;style-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com 'self' 'unsafe-inline' data:;child-src 'self';manifest-src 'self';upgrade-insecure-requests;base-uri 'self';form-action 'self'
cross-origin-opener-policy: same-origin
cross-origin-resource-policy: same-origin
origin-agent-cluster: ?1
referrer-policy: no-referrer-when-downgrade
x-content-type-options: nosniff
x-dns-prefetch-control: off
x-download-options: noopen
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-xss-protection: 0
cache-control: public, max-age=60
location: /en/actions/how-tos/write-workflows/choose-what-workflows-do/pass-job-outputs
content-type: text/plain; charset=utf-8
x-github-backend: Kubernetes
x-github-request-id: 992B:80E35:E1FEDE:10AB325:68ECD25F
accept-ranges: bytes
age: 0
date: Mon, 13 Oct 2025 10:20:32 GMT
via: 1.1 varnish
x-served-by: cache-bom-vanm7210048-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1760350832.232578,VS0,VE288
vary: Accept
strict-transport-security: max-age=31557600
content-length: 111
HTTP/2 200
access-control-allow-origin: *
content-security-policy: default-src 'none';prefetch-src 'self';connect-src 'self';font-src 'self' data:;img-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com data: placehold.it;object-src 'self';script-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com 'self' data: 'unsafe-inline';script-src-attr 'self';frame-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com https://support.github.com https://www.youtube-nocookie.com;frame-ancestors 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com;style-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com 'self' 'unsafe-inline' data:;child-src 'self';manifest-src 'self';upgrade-insecure-requests;base-uri 'self';form-action 'self'
cross-origin-opener-policy: same-origin
cross-origin-resource-policy: same-origin
origin-agent-cluster: ?1
referrer-policy: no-referrer-when-downgrade
x-content-type-options: nosniff
x-dns-prefetch-control: off
x-download-options: noopen
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-xss-protection: 0
cache-control: public, max-age=60
x-powered-by: Next.js
content-type: text/html; charset=utf-8
x-github-backend: Kubernetes
x-github-request-id: 1721:B6B1D:DEC53C:107A3FF:68ECD270
content-encoding: gzip
accept-ranges: bytes
age: 1
date: Mon, 13 Oct 2025 10:20:35 GMT
via: 1.1 varnish
x-served-by: cache-bom-vanm7210048-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1760350833.533540,VS0,VE2492
vary: Accept-Encoding
strict-transport-security: max-age=31557600
content-length: 28573
Passing information between jobs - GitHub Docs Skip to main content
Passing information between jobs You can define outputs to pass information from one job to another.
Open the workflow file containing the job you want to get outputs from.
Use the jobs.<job_id>.outputs
syntax to define the outputs for the job. For example, the following job defines the output1
and output2
outputs, which are mapped to the results of step1
and step2
respectively:
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"
In a separate job where you want to access those outputs, use the jobs.<job_id>.needs
syntax to make it dependent on the original job. For example, the following job checks that job1
is complete before running:
jobs:
job2:
runs-on: ubuntu-latest
needs: job1
To access the outputs in the dependent job, use the needs.<job_id>.outputs.<output_name>
syntax. For example, the following job accesses the output1
and output2
outputs defined in job1
:
jobs:
job2:
runs-on: ubuntu-latest
needs: job1
steps:
- env:
OUTPUT1: ${{needs.job1.outputs.output1}}
OUTPUT2: ${{needs.job1.outputs.output2}}
run: echo "$OUTPUT1 $OUTPUT2"
To learn more about job outputs and the needs
context, see the following sections of Workflow syntax for GitHub Actions :
Help and support Ask Copilot your question. Ask Copilot