NaveenKumar-nkp
NaveenKumar-nkp

Reputation: 11

Jenkins file can we use the IF statement

in Jenkins file one of the variable is having the comma separated values like below.

infra_services=[abc,def,xyz]

when I write the below code it was throwing an error.

if ("{$Infra_Services}".contains("xyz"))
    then
 echo "$Infra_Services"
fi

Upvotes: 0

Views: 1610

Answers (1)

fredericrous
fredericrous

Reputation: 3028

yes you can do if statements in a Jenkinsfile. However if you are using declarative pipeline you need to brace it with the step script.

Your issue comes from the fact you did not put any double quotes around "abc" and all the elements of your array

infra_services=[abc,def,xyz]

​ A second error will raise after you fix this. If infra_services is an array, to manipulate it you should not try to cast it as string. It should throw when you do "{$Infra_Services}"

here is a working example

​def Infra_Services = ["abc","def","xyz"]

if (Infra_Services.contains("xyz")) {
   println "found"
}​​

My advice is to test your groovy before running it on jenkins, you will gain precious time. Here is a good online groovy console I use to test my code. running the groovy console from terminal is an alternative

https://groovyconsole.appspot.com/

Upvotes: 1

Related Questions