Find Questions…

Close ×
First time here? Check out the FAQ!

Accessing build-specific variables from script, without having to use Environment Variables box on Script Config page

scottybgood asked this question · 131 karma ·

I read this post, which seems to indicate that I can access build-specific variables directly from my script, instead of having to pass each one in via the Environment Variable box in the Script Configuration pane in Bamboo. I am not finding this to be the case, and am wondering if I am missing something.

Basically, I want to be able to arbitrarily access all of the following build specific variables via my perl script, which is called in a pre-build script in order to apply these values to the version in our app:

${bamboo.buildPlanName}

${bamboo.buildKey}

${bamboo.buildNumber}

${bamboo.buildResultKey}

${bamboo.buildTimeStamp}

${bamboo.repository.revision.number}

${bamboo.build.working.directory}

I know that I can use a line similar to the following in the Script Configuration / Environment Variables box:

RESULTSDIR="${bamboo.build.working.directory}/test-reports" BUILDNUM="${bamboo.buildNumber}" etc...

I'd like to not have to include this line every time I use the script in my Bamboo plan. Is there a way to directly access them, as the above mentioned post seems to indicate?

In the Job log there is a note stating that my globals are passed in to the environment of the remote agent that is running the perl script (a Windows box, if it matters). The build-specific variables, however, are not passed in this fashion. I tried to use a build-specific variable in the "Value" field of a global, but not suprisingly, they are not interpolated. (See screen shot).

If I have to manually pass these in everytime I run the script, it's not the end of the world, but if there is something I'm overlooking, I'd love to hear about it.

Thanks!

1775 views

One Answer:

Piotr Stefan Stefaniak [Atlassian] · 3,441 karma ·

Indeed the build-specific variables aren't passed to the script process environment (contrary to the plan/global variables, which are passed).

Would you like me to raise a feature request on the Bamboo issue tracker?

scottybgood · 131 karma ·

Hi Piotr, thanks for the reply. Yes, I would really appreciate it if you would submit this as a feature request!

For what it's worth, the reason we're needing this is so that our developement builds can pull the Bamboo build #, build key, etc, in order to display it in the application's about box. My script writes these varaible values into a text file which is then used to build the versions info when the MSBuild task gets kicked off.

Currently, the workaround I'm using is a little clunky. I'm basically passing all build specific variables that I need into the script via environmental variables, then parsing this list, and matching them up to the list of variables in the script that I know I need. Bleck... messy.

Thank you!

--scott

Piotr Stefan Stefaniak [Atlassian] · 3,441 karma ·

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

Please add yourself as a watcher and vote for that issue, so it will be scheduled sooner.

regards!

Looking for something else?

Find Questions…

or Browse other questions tagged:

or Ask a Question