It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Can I assign a value to a bamboo variable in script?

I want to be able to use a script to parse a file, read out a value and then assign this value to a plan variable. I cannot see a way of assigning the variable however.

I have tried various scripts like:

Write-Output Initial Date: "${bamboo.CURRENT_ASSEMBLY_VERSION}"
set "bamboo_CURRENT_ASSEMBLY_VERSION=$rawVersionNumber"
Write Output Should have set to: $rawVersionNumber
Write-Output Using the shared assembly version number: "${bamboo.CURRENT_ASSEMBLY_VERSION}"

Is this possible with Elastic Bamboo?

4 answers

4 years later and we still don't have a "good" solution for managing variables that might come up during the build... why is this not a surprise with Atlassian. 

Inject Variable task is part of Bamboo and it should be used to propagate variables from environment to other tasks, jobs and stages

Like # people like this

Hi Alex,

I need variable with date.
Trying to get date in inline or file script: DateStamp="$(date +%m-%d-%Y)"

 

Further attempts to access variable failed. E.g. ${bamboo.DateStamp} returns error "bad substitution" in current script as well as next task script.

 

Is any way to create accessible variable during the build?

@Sergey, as I wrote you should use Inject Variable task

1. As part of you job create file some.properties in format

prop=value

2. Add task Inject Variables next to task you created properties file, configure it to read some.properties file. It will add variables to build context

3. Use variables in other tasks within this job or next stages

Thank you Alex.
I did it with injector. It looks ok for cases like my when you need add one variable or group of variables at once. One task for file creation, one injection task.

But if I need change variables several times? E.g. 17. 
Is it really I need to add 17 tasks for file creation/update and 17 injection tasks? 

I'm afraid yes. But please don't do it manually, use Bamboo Specs to automate your plan configuration. Cause it will be a pain to maintain these 17 tasks

Thank you. I'll mention it in future.


I just used to use variables as variables, not a constants ) It was a surprise for me that Bamboo doesn't allow to use them like ${var}=some.build.result.value across jobs and scripts.

Like anddave likes this

Yknow what tool totally DOES do this?  ActiveBatch by ASCI.  :) Just sayin.  I love Bamboo but also the nuisance factor is higher than it needs to be.

You can use the injection variable plugin to simulate this. Basically you write out to a text file, then read it in from the injection plugin task once it's there, you can use it as a variable within the same stage. I think you have to reload it in a new stage, which is a nuisance but works fine.

0 votes

Hi Mark,

It is currently impossible to change a variable value from within tasks while the build is running. This is being tracked here:

https://jira.atlassian.com/browse/BAM-10272

I would suggest adding any comments to the issue above as well as voting on the issue to create it's popularity and likelihood of being implemented in a future release.

For more information on how Atlassian implements new features and improvements please see the following document:

http://confluence.atlassian.com/display/DEV/Implementation+of+New+Features+Policy

Kind regards,
Felipe Kraemer
Atlassian Support

Ah, this plugin doesn't seem to be available for the cloud. We are running Elastic Bamboo. I thought that this meant that it is not currently able to be run with our version?

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Bamboo

Unable to add or edit Bitbucket Cloud repository in Bamboo

On 31 May, a GDPR-related change went live in the Bitbucket Cloud API that resulted in users not being able to create or edit Bitbucket Cloud Linked repositories in Bamboo. This API update removed t...

681 views 2 7
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you