Make variable visible across steps in Bitbucket pipelines?
Guide Make variable visible across steps in Bitbucket pipelines?: April 2025: now it's possible without tricks You can now export variables and use them in all subsequent steps as shown below. Use this when you hit exactly this in this tool. Not for different errors or different tools.
TL;DR: April 2025: now it's possible without tricks You can now export variables and use them in all subsequent steps as shown below. [code: pipelines: default: - step: name: Export Variable script: - echo "VAR1=12345" >> $BITBUCKETPIPELINESVARIABLESPATH output-variables: - VAR1 - step: name: Use Variable script: - echo $VAR1 ] The feature was first released and explained on 31st of March 2025: [Atlassian News Blog] Easily share data between steps in Bitbucket Pipelines .
April 2025: now it's possible without tricks You can now export variables and use them in all subsequent steps as shown below. [code: pipelines: default:
- step:
name: Export Variable script:
- echo "VAR1=12345" >> $BITBUCKETPIPELINESVARIABLESPATH
output-variables:
- VAR_1
- step:
name: Use Variable script:
- echo $VAR_1 ]
The feature was first released and explained on 31st of March 2025: [Atlassian News Blog] Easily share data between steps in Bitbucket Pipelines . This feature is explicitly meant to replace the old way:
Previously, sharing variables between steps required more effort than desired, doing things like saving variables in an artifact file and using that artifact in subsequent steps. With this new feature, you can now share variables seamlessly and efficiently, reducing complexity and potential errors in your pipeline configurations. ~ the Blog article
Read the docs: Output Variables step option (in Bitbucket Pipelines configuration reference).
Responding to a comment: it works with anchored steps, too. I tested it in a branch test-output-variables-and-anchors: [code: definitions: steps:
- step: &output-variables
name: Export Variable script:
- echo "VAR1=12345" >> $BITBUCKETPIPELINESVARIABLESPATH
- echo "VAR2=67890" >> $BITBUCKETPIPELINESVARIABLESPATH
output-variables:
- VAR_1
- VAR_2
- step: &log-variables
name: Log Variables script:
- echo $VAR_1
- echo $VAR_2
pipelines: branches: test-output-variables-and-anchors:
- step: *output-variables
- step: *log-variables ]
This worked and flawlessly did output the VAR_1 and VAR_2 values correctly in the second step.
When to use
You hit exactly this: Make variable visible across steps in Bitbucket pipelines?.
When not to use
A different error, or the same symptom in a different tool. This page only covers the failure above.
Compatibility
the tool named in the title.
Edge cases
- With this new feature, you can now share variables seamlessly and efficiently, reducing complexity and potential errors in your pipeline configurations. ~ the Blog article Read the docs: Output Variables step option (in Bitbucket Pipelines configuration reference).