2012-12-07 194 views
0

嗨,我是新來groovy。詹金斯Groovy腳本錯誤

我正在使用jenkins做我的構建,現在我的要求是捕獲構建結果例如(Success/Unstable.Failure)並將其打印在構建電子郵件的主題行上。

我已經安裝了常規postbuild插件,並試圖執行以下行,但沒有成功。

進口hudson.model *

狀態= manager.build.result 的println $ {}狀態

然後我會在我的email-ext插件的主題行中加入狀態變量。

但我得到以下錯誤:

Groovy script failed: 
groovy.lang.MissingMethodException: No signature of method: Script1.$() is applicable for argument types: (Script1$_run_closure1) values: [[email protected]] 
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) 

請能有人幫我

+0

「status = manager.build.result」之後是否有新行,是不是?你能像包裝錯誤一樣包裝你的代碼嗎? – lucke84

回答

0

${BUILD_STATUS}已經可以不訴諸常規,並且可以在你的郵件模板只需使用${BUILD_STATUS}

使用
+0

嗨,我想我不清楚....我需要在我的電子郵件的主題行中顯示上游構建的構建狀態。如果我把$ {BUILD_STATUS}放到當前版本的狀態,但那不是我想要的。我希望它顯示上游狀態。 – user1720124

+0

您好我已經通過互聯網找到了下面的代碼,但不知道這是否會解決我的問題:upstreamBuilds = manager.build.getUpstreamBuilds(); upstreamJob = upstreamBuilds.keySet()。iterator()。next(); lastUpstreamBuild = upstreamJob.getLastBuild(); (lastUpstreamBuild.getResult()。isBetterThan(manager.build.result)){ lastUpstreamBuild.setResult(manager.build.result); } – user1720124