jenkins上的Groovy脚本错误

jenkins上的Groovy脚本错误,groovy,jenkins,Groovy,Jenkins,嗨,我是groovy的新手 我正在使用jenkins进行构建,现在我的要求是捕获构建结果,例如(Success/Unstable.Failure),并将其打印在构建电子邮件的主题行上 我安装了groovy postbuild插件,并尝试执行以下几行,但没有成功: 导入hudson.model* 状态=manager.build.result println${status} 然后我会在我的email-ext插件的主题行中包含status变量 但我得到了以下错误: Groovy script fa

嗨,我是groovy的新手

我正在使用jenkins进行构建,现在我的要求是捕获构建结果,例如(Success/Unstable.Failure),并将其打印在构建电子邮件的主题行上

我安装了groovy postbuild插件,并尝试执行以下几行,但没有成功:

导入hudson.model*

状态=manager.build.result println${status}

然后我会在我的email-ext插件的主题行中包含status变量

但我得到了以下错误:

Groovy script failed:
groovy.lang.MissingMethodException: No signature of method: Script1.$() is applicable for argument types: (Script1$_run_closure1) values: [Script1$_run_closure1@2620749c]
Possible solutions: is(java.lang.Object), run(), run(), any(), use([Ljava.lang.Object;), any(groovy.lang.Closure)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:78)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
at Script1.run(Script1.groovy:4)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:580)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:618)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:589)
at org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildRecorder.perform(GroovyPostbuildRecorder.java:276)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:710)
at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:685)
at hudson.model.Build$RunnerImpl.post2(Build.java:162)
at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:632)
at hudson.model.Run.run(Run.java:1463)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:239)

有人能帮我一下吗?

${BUILD\u STATUS}
已经可以使用了,不需要借助groovy,只需使用
${BUILD\u STATUS}

在“STATUS=manager.BUILD.result”之后有新行吗?你能不能像处理错误一样包装你的代码?嗨,我想我不清楚。。。。我需要在电子邮件的主题行中显示上游构建的构建状态。如果我把${BUILD_STATUS}放在那里,它会获取当前构建的状态,但这不是我想要的。我希望它显示上游状态。嗨,我在internet上找到了以下代码,但不确定这是否能解决我的问题:upstreamBuilds=manager.build.getUpstreamBuilds();upstreamJob=upstreamBuilds.keySet().iterator().next();lastUpstreamBuild=upstreamJob.getLastBuild();如果(lastUpstreamBuild.getResult().isBetterThan(manager.build.result)){lastUpstreamBuild.setResult(manager.build.result);}