Hello. I'm currently evaluating Bamboo for our build equipment. We have mostly python scripts to run different steps. My current issue is, how I can access global and/or plan specific variables by the python scripts, if they are called by a remote agent?
I read your documentation about the usage of global variables but I don't see the link to python. I wouldn't like to use an environment variable because this must be defined for each task. I'm looking for a solution which works for a entire plan, where I can access e.g. on the subversion revision number or the build number.
Thanks for any help.
Hi Michael,
Bamboo wil pass down any build specific variable/global variable you have defined to your build. If you don't want to specify a global Bamboo variable then you can specify a plan specific variable as per;
http://confluence.atlassian.com/display/BAMBOO/Defining+Plan+Variables
You can then access this variables using a simlar code;
import os
print os.environ['foo']
Hope that help! Let me know if you have any question?
Regards
Ajay.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
os.environ['bamboo.repository.revision.number'] does not work for me in python. I am getting the below error.
bwd=os.environ['bamboo.build.working.directory']
File "/usr/lib/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'bamboo.build.working.directory'
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
For anyone who's bothering with the similar problem: in Python ran on Bamboo the os.environ contains Bamboo's variables in form where every dots are replaced with underscores, e.g. variable "bamboo.build.working.directory" should be resolved as: os.environ["bamboo_build_working_directory"]
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
i still get error not sure why.
i get error
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
File "/usr/lib64/python2.6/UserDict.py", line 22, in __getitem__
raise KeyError(key)
KeyError: ''
Is there a way to successfully invoke bamboo plan variables within a python inline script just like it works for a shell or batch script.
Any help here would be greatly appreciated.
Cheers,
Ashley
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This is a way to call bamboo variables inside python script
print(os.environ['bamboo_NAME_OF_THE_VARIABLE])
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
can you change the value of a variable?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.