What's the pattern evaluation on Jenkinsfile when-branch setting? What's the pattern evaluation on Jenkinsfile when-branch setting? jenkins jenkins

What's the pattern evaluation on Jenkinsfile when-branch setting?


Ok ! So, through the error stack trace I found out that on the when-branch option, Jenkins compares with Ant style patterns:https://ant.apache.org/manual/dirtasks.html

That means it doesn't expect regexp, but simpler stuff like:

        */staging/*

I solved this by using the when-expression option instead, like this:

        when {             expression { BRANCH_NAME ==~ /feature\/[0-9]+\.[0-9]+\.[0-9]+/ }        }

That uses groovy expressions as described here:

https://www.regular-expressions.info/groovy.html

Especially, look for the explanation of the ==~ operator, that was helpful.

For the regular expression itself, you can test yours here:

https://regexr.com/