How to validate the transformer of a job template using the Script Console?

Issue

  • As a Jenkins admin, I would like to validate the job transformer via Script Console

Environment

Resolution

Script

The following script would solve the described issue.

Notes:

1) Please make a backup of your $JENKINS_HOME before running it.
2) Overall - RunScripts (admin) permission is needed in order to run it.
3) The following script has been tested in the following environment.
* CloudBees Jenkins Enterprise 2.73.1.2-rolling
* CloudBees Template plugin:4.33

import com.cloudbees.hudson.plugins.modeling.ModelList
import com.cloudbees.hudson.plugins.modeling.impl.jobTemplate.InstanceFromJobTemplate
import com.cloudbees.hudson.plugins.modeling.impl.jobTemplate.JobPropertyImpl

// getAllItems type JobTemplate and then filtering by item name
def MyTemplate1= Jenkins.instance.getAllItems(com.cloudbees.hudson.plugins.modeling.impl.jobTemplate.JobTemplate).find{job-> job.name=="My Template Example 1"}
// getItem() needs full name as described in http://javadoc.jenkins.io/hudson/model/Item.html#getFullName
def MyTemplate2= ModelList.get().getItem("SUPPORT-Team/Templates/My Template Example 2")

println "CASE A: Transformer OK"
println "----------------------"

try{
    MyTemplate1.transformer.compileTemplate()
    println "[INFO] : $MyTemplate1.name transformer is OK"
}catch (Exception e){
    println "[ERROR] :"+ e.toString()
} 

println "\n\n"
println "CASE B: Transformer with Errors"
println "----------------------"
try{
    MyTemplate2.transformer.compileTemplate()
    println "[INFO] : $MyTemplate2.name transformer is OK"
}catch (Exception e){
    println "[ERROR] :"+ e.toString()
}   

Console Output

CASE A: Transformer OK
----------------------
[INFO] : My Template Example 1 transformer is OK



CASE B: Transformer with Errors
----------------------
[ERROR] :groovy.lang.GroovyRuntimeException: Failed to parse template script (your template may contain an error or be trying to use expressions not currently supported): startup failed:
SimpleTemplateScript28.groovy: 83: unexpected token: & @ line 83, column 41.
   lease_to_Artifactory=="Yes" &&& !!! bla bla 
                                 ^

1 error
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.