Issue
-
As a Jenkins admin, I would like to validate the job transformer via Script Console
Environment
-
CloudBees Jenkins Enterprise - Managed controller (CJEMM) CloudBees Jenkins Template Plugin
Resolution
Script
The following script illustrates how to solve the issue. For Case A the transformer is OK whereas for Case B not.
Notes:
-
Please make a backup of your
$JENKINS_HOME
before running it. -
Overall - RunScripts
(admin) permission is needed in order to run it.
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 https://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