Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use groovy env. variable in Jenkins to pass through bat command in Jenkins pipeline

I have stage in my jenkinsfile, that executes a bat command:

stage ('build'){
  bat '%cd%\\MySimpleProject\\bin\\Execute.bat "${env.BRANCH_NAME}"'
}

My batch command requires a parameter that is the current branch in svn.

When I use this:

echo "SVN_BRANCH_NAME is ${env.BRANCH_NAME}"

It would give the value of BRANCH_NAME but if I pass it as param to my batch file, it literally pass ${env.BRANCH_NAME} not the value.

Is their a way to do this?

like image 565
user1670340 Avatar asked Jan 02 '23 20:01

user1670340


1 Answers

It's because all is wrapped in single quotes and groovy won't interpolate the string. Try

stage ('build'){ bat "%cd%\\MySimpleProject\\bin\\Execute.bat ${env.BRANCH_NAME}"}
like image 93
shipperizer Avatar answered Jan 04 '23 15:01

shipperizer