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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.