Hi! I’m writing this blog post because I’d like to share my thoughts and tricks about a few upcoming features in Bamboo 4.2. These thoughts will be from a developer perspective who works on Bamboo in a day-to-day basis. So, let’s get started. Branches in the SCM As most of you probably know, the Bamboo team uses Mercurial SCM for storing the source code. With the boom of DVCS in Atlassian we were encouraged to utilize more branches when developing Bamboo application. That’s nothing unusual, and I believe most of you – no matter if working in Hg or Git – have already experienced this. So since last year I’ve seen more and more “feature branches” in Bamboo repository, and if I run `hg branches` on the Bamboo repository I’ll see something like this: As you can see, we have a plenty of branches, and you can notice a few patterns in their names. Most noticeable is that some branches contain relevant JIRA issue key incorporated in the branch name (i.e. “mchai-BDEV-474-aspectj”, “kbrazulewicz_BDEV-409“, “BAM-11296 change detection caching”). That’s because it’s a branch was created for implementing a particular issue and it’s easier to find the relevant branch later if it has something common with the JIRA issue. Another thing, but less noticeable, is that some branch names are prefixed with the developer initials – for example “jb-BDEV-771″. Jason Berry is a Bamboo developer, while BDEV-771 is a ticket on our internal JIRA tracker. Quite obvious, isn’t it? However, the trick with initial prefixes is that way a developer working on multiple branches simultaneously can get back to them more easily – you don’t need to remember exactly what was the issue key is, you can just focus on the branches that start with your initials. For example in the command-line terminal I can enter `hg up ps-` and hit ‘tab’ to display only the branches of which I’m the creator. Cool. Branches As Seen in Bamboo Since version 4.0 we can configure Bamboo to detect every Git & Hg branch and built it as a separate branch Plan. The resulting dashboard in Bamboo looks like this: Now, here’s something neat in Bamboo 4.2: whenever it detects and creates a new branch, it will capture the issue key found in the branch name and link the branch-Plan with the JIRA issue. The title of the JIRA issue then gets save as the Plan-branch’s description. (Your JIRA instance must be linked to Bamboo via Application Links, and have the Bamboo plugin installed –we’ll be releasing an updated version of it in concert with Bamboo 4.2. Anyway… ) Why does it matter? Because, as seen in the above picture, one developer can have multiple branches opened. And if he doesn’t leave enough information in the branch name he will have problems finding the relevant build in Bamboo. (“Was it BDEV-555 or BDEV-542 that I wanted to check? Or maybe BDEV-526? Hell, so many numbers to remember… I better just go find some chocolate.”) Probably you [...]