Bamboo branch plan name
Asked by Config Manager:

For a build plan on the master branch, the build plan name is a combination of the Project Key and the Build Plan, resulting in something like PROJECT-PLAN.

But for a branched plan, the build plan is named (by default) PROJECT-PLAN0 (further branches using 1,2 etc.). Since the artifact directory created by the Bamboo server is named using this, it means that identifying the correct one for the branch build - especially where there are multiple branches, is prone to error.

Is there a way to change the key for a branch "BRANCH" to, say, PROJECT-PLAN-BRANCH, or some other form that relates more obviously to the branch name?


Answers:
author: Config Manager
body: Thanks for your comment, Marcin. It seems a bit unsatisfactory that this is the case; I can't be the only user who thinks it's a bit messy to name branch builds like this.

comments: author: Krystian Brazulewicz
body: John, can you tell us more about your build pipeline and the need to identify correct artifacts in the filesystem manually? If we understand the problem then maybe we'd be able to propose an alternative solution.


author: Config Manager
body: Hi Krystian,We have a hundred or so build plans with many more to come as we continue the migration of our large software estate from SourceSafe \& CruiseControl to Stash \& Bamboo. We have several hundred applications that will eventually all be stored in Stash/Git, with many of them being built by Bamboo.We are in the early stages of investigating Bamboo for deployment, but even when we start to use it (many months away I expect, and then only into testing) I expect that the majority of deliveries into test and release will follow a semi-automated process separate from Bamboo which picks up some or all of the artifacts produced by a build plan, depending on need, perhaps adds other files to them, and creates a release candidate directory in a Git repo that is used for distribution to the test team and beyond.The first point was that we had to make the Bamboo Plan keys - which are used to name the artifact directories - quite long and verbose because with so many applications it was very tricky and prone to error to use abbreviated forms. Whether that is good practice or not remains to be seen, since I expect the key is used internally as a database key, but that's the way it is. In fact the Plan key tends to match the application name (in uppercase without dots) , and could be, for example, "UK-SCHEMETARIFFREFRESH".The artifact directory created on the server is shared out for others to access if they so desire.The problem now as we start to use branches is, to continue the example above, alongside the directory UK-SCHEMETARIFFREFRESH there will be a UK-SCHEMETARIFFREFRESH0. Ok, if there is only one branch then it's clear that the basic NAME is master and that NAME0 is the branch, but as we add more branches producing NAME1, NAME2, etc, this breaks down and there is a risk that the wrong branch's artifacts will be taken.So it is the lack of visible association between the directory name and the branch name that I am regretting. Yes I know that you can find the correct directory in a number of ways, such as looking at the URL in Bamboo or by following a link in a build completion email, but at a glance it is not obvious. Browsing the artifact directory in Bamboo is pretty useless IMHO.So having the branch name included in the artifact directory name would be helpful; perhaps even being able to define the artifact directory name on the build plan instead of having it hard-wired as ProjectKey-BuildPlanKey combinationRegards, John


author: Marcin Oles
body: I don't think it is possible.

Regarding your suggestion: one of the problems is that the 3-part keys represent different things (already in use):

* 3rd value being a number makes it a key of a build result (\<projectKey\>-\<planKey\>-\<resultNumber\>),
* and when 3rd value starts from a letter it represents a build job (\<projectKey\>-\<planKey\>-\<jobKey\>).