Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Checkout branches of a repo dynamically in Bamboo.

katsuragi545 August 8, 2017

 Is it possible to checkout branches in Bamboo using a dynamic value? For instance, if I have a value of 1.0.2, then I want Bamboo to check out and build 1.0.2. If the value is 2.0.2, then I need Bamboo to check out and build 2.0.2. 

1 answer

0 votes
Jobin Kuruvilla [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 8, 2017

You want them to be checked out all at once? Or just select certain branches for build? You can use the checkout task to pick any branch you like.

There is also an option to enable branch plans if you just want to build all the branches.

https://confluence.atlassian.com/bamboo/using-plan-branchese-289276872.html

katsuragi545 August 8, 2017

My goal is to automate builds of several repos. 

Jobin Kuruvilla [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 8, 2017

You can use the "Source Code Checkout" task then. See https://confluence.atlassian.com/bamboo/checking-out-code-289277060.html

katsuragi545 August 8, 2017

Thank you for your responses but I'm not sure how I can accomplish my task with those resources you've linked. 

To clarify - can Bamboo check out a given branch from a given repo, and perform the build using a dynamic value for what branch to check out. 

So, if my dynamic value is 1.0.2, then I want the Bamboo plan to checkout and build branch 1.0.2. If it says 2.0.2, then I want to checkout and build branch 2.0.2. If this is possible, where would I set the dynamic value? 

Jobin Kuruvilla [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 8, 2017

Ah ok, now I understand what you are trying to do. You need to dynamically check out a branch. I am afraid there is no standard task to do it.

How about using the script task to checkout the branches dynamically using the git commands?

katsuragi545 August 9, 2017

I'm looking at the Script task now. You're referring to using the 'Argument' field as the variable correct? I.e., if I want branch 1.0.2, then the 'Argument' field would be '1.0.2' which would then be passed into the script file. That sounds like it should work. 

Would it be possible to change the 'Argument' field on-the-fly? For instance, having an 'Argument' of 1.0.2 and a Powershell script that takes that argument, and retrieve branch 1.0.2 for a specific repo would be fine. However, what if I wanted to check out multiple repos? Is there a Bamboo REST API call that would allow me to dynamically create a new Script Task OR update an existing one?

Jobin Kuruvilla [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 9, 2017

You can use an external script and modify it on the fly?

Henrik Eriksson April 2, 2019

Is it possible in bamboo to add 2 checkout tasks. One for the dynamically allocated branch, which is decided on branch build, and one for the default branch.

 

The target is to have e.g. master and branch of master available during the build. But not have all the branches available.

To avoid checking out all the branches, to save time and disk io etc during the build,

Jobin Kuruvilla [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 2, 2019

Maybe use the checkout task only for the default branch but then use a script task to fetch the dynamic branch using Git commands, when needed?

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events