Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Select branch to build in Jenkins

I have several branches in my project. Is it possible to make dynamic branch selection in Jenkins's job? The idea is that Jenkins will get list of current branches and display them as possible choice parameter. Is there any way to do that? Thanks

like image 244
Timur Suleimanov Avatar asked Jan 18 '26 14:01

Timur Suleimanov


1 Answers

I've found groovy script for this. A bit modified it. You need to select 'groovy script' instead of 'Property file'

def gitURL = "ssh://[email protected]/project.git"
def command = "git ls-remote -h $gitURL"

def proc = command.execute()
proc.waitFor()         

if ( proc.exitValue() != 0 ) {
   println "Error, ${proc.err.text}"
   System.exit(-1)
}     

def branches = proc.in.text.readLines().collect {
    it.replaceAll(/[a-z0-9]*\trefs\/heads\//, '') 
}   
return branches.join(",")

Idea is the same. Only now your key is ${Branch} in the job. Works well. Huge thanks @Technext for idea.

like image 96
Timur Suleimanov Avatar answered Jan 21 '26 08:01

Timur Suleimanov