I want to force following scenario in Jenkins:
- I have job A and job B
- I want to disable job A when job B is executed, and after execution of job B, I want to enable job A again.
To enable/disable job A, I've used Groovy plugin: Groovy plugin
Groovy plugin offers two possibilities: Execute Groovy script and Execute system Groovy script.
I've added following code snippets on the start of execution of job B:
Jenkins.instance.getItem("job_A").disable()
and after execution of job B:
Jenkins.instance.getItem("job_A").enable()
Using Execute Groovy script:
When I ran job B, it fails with following exception:
Caught: groovy.lang.MissingPropertyException: No such property: Jenkins for class: hudson7198966217090520732
at hudson7198966217090520732.run(hudson7198966217090520732.groovy:1)
Using Execute system Groovy script:
When I ran job B, it fails with following exception:
FATAL: No such property: Jenkins for class: Script1
groovy.lang.MissingPropertyException: No such property: Jenkins for class: Script1
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50)
at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231)
at Script1.run(Script1.groovy:1)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:682)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:666)
at hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:80)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
at hudson.model.Build$BuildExecution.build(Build.java:199)
at hudson.model.Build$BuildExecution.doRun(Build.java:160)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:586)
at hudson.model.Run.execute(Run.java:1576)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:241)
Any idea what might be the problem? Also, when running this code snippets from Jenkins Script Console, it works without any issues. Thanks in advance.
import jenkins.model.Jenkins
at the top of your script? – tim_yates