Chris F
Chris F

Reputation: 16673

How to use environment variables in a Jenkins pipeline job?

I posted this in the Jenkins users Google group, but thought I'd post it here too.

I have a Jenkins Pipeline job, and in its Configuration page, I use a "Pipeline script from SCM" as my pipeline. One of this block's parameters is "Branch to build" of course. How can I used an environment variable for the text block? I tried, for example, $branchToBuild, ${branchToBuild} or "${branchToBuild}" and it just takes those as literal values and does not interpolate the string. I do have that variable defined and use it in other jobs.

Someone suggested using ${env.branchToBuild}, so I tried env.branchToBuild, $env.branchToBuild, ${env.branchToBuild}, and "${env.branchToBuild}" all to NO avail, that is, they are also just taken as literal strings and not interpolated.

Jenkins pipeline configuration

Is it just not possible to do this?

Upvotes: 1

Views: 1879

Answers (1)

André DS
André DS

Reputation: 1901

You have to uncheck Lightweight checkout box in order to use a variable as Branch name to build.

It's a known Jenkins bug, here is more information : How to pass project parameter as branch name to build in Jenkins

Apparently the code path is very different if you are using the lightweight checkout, and that has not been resolved, apparently.

Another source : https://cleverbuilder.com/notes/jenkins-dynamic-git-branch/

Upvotes: 1

Related Questions