L'exécution de Groovy commande à partir de Jenkins à l'aide de script Groovy plugin

Je veux de la force scénario suivant dans Jenkins:

  1. J'ai Un travail et de l'emploi B
  2. Je veux désactiver travail lorsque le travail B est exécuté, et après l'exécution de la tâche B, je veux permettre d'emploi A de nouveau.

Pour activer/désactiver le boulot, j'ai utilisé Groovy plugin: Groovy plugin

Groovy plugin offre deux possibilités: Exécuter le script Groovy et exécutent le système Groovy script.

J'ai ajouté des extraits de code suivants sur le début de l'exécution de la tâche B:

Jenkins.instance.getItem("job_A").disable()

et après l'exécution de la tâche B:

Jenkins.instance.getItem("job_A").enable()

À l'aide de Exécuter le script Groovy:

Lorsque j'ai exécuté la tâche B, il échoue avec l'exception suivante:

Caught: groovy.lang.MissingPropertyException: No such property: Jenkins for class: hudson7198966217090520732
    at hudson7198966217090520732.run(hudson7198966217090520732.groovy:1)

À l'aide de exécutent le système Groovy script:

Lorsque j'ai exécuté la tâche B, il échoue avec l'exception suivante:

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)

Une idée de ce que pourrait être le problème?
Aussi, lors de l'exécution de ce code des extraits de Jenkins Script Console, il fonctionne sans aucun problème.
Merci à l'avance.

Avez-vous importé import jenkins.model.Jenkins en haut de votre script?
Il a travaillé avec la combinaison de l'utilisation d'Exécuter le système de script Groovy option. Je ne sais pas pourquoi il ne fonctionne pas avec Execute script Groovy option lorsque cette importation n'est pas reconnu, mais l'option précédente fonctionne pour moi. Apprécié. Merci

OriginalL'auteur Bakir Jusufbegovic | 2013-07-02