I have a bamboo plan with a maven task. I need to pass a maven parameter with the name of the branch.
I can use the variable ${bamboo.repository.branch.name} for this.
However, I need to override this value for some branches (see https://answers.atlassian.com/questions/267198/bamboo-variable-regex).
So, in my bamboo plan I define a variable called "branchName", with value "${bamboo.repository.branch.name}".
then, my maven task uses ${bamboo.branchName}, and the branches can override the "branchName" value when neceserary.
So, is this possible? can my bamboo plan variable "branchName" use another variable "${bamboo.repository.branch.name}" as default value?
Well, I tried, and the result is unclear.
If my maven task is:
mvn verify -B -Dsonar.branch=${bamboo.branchName}
this does not work. it executes mvn verify -B -Dsonar.branch=${bamboo.repository.branch.name}
However,
If my maven task is:
mvn verify -B -Dsonar.branch=${bamboo.branchName} -Dignore_var=${bamboo.repository.branch.name}
then ${bamboo.branchName} gets substituted as expected,
and it executes mvn verify -B -Dsonar.branch=develop -Dignore_var=develop
Why is that? Is this a bug or a feature?
So, how to achieve this correctly?
that is, I need a bamboo plan variable "branchName" with a default value of "${bamboo.repository.branch.name}",
which can be overridden by branch plans.
You may want to try the nested plugin. That way you could set a variable to "${bamboo.repository.branch.name}" but when evaluated it will give you the value of the inner 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.