我在几个地方都读过,可以通过调用build.status = 'UNSTABLE'
来将詹金斯版本的状态设置为所需的值(例如,UNSTABLE)。即字符串用作值;普通魔术将字符串转换为正确的类型。
我有一个种子工作,如果满足某些条件,我想将当前版本的状态设置为UNSTABLE。为此,我编写了以下代码:
// seedJob is an object of type hudson.model.FreeStyleProject
seedJob.lastBuild.result = 'UNSTABLE'
但是当执行此代码时,出现以下错误:
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'UNSTABLE' with class 'java.lang.String' to class 'hudson.model.Result'
谁能告诉我为什么会发生错误?
谢谢!
仅供参考,这里是堆栈跟踪的顶部:
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'UNSTABLE' with class 'java.lang.String' to class 'hudson.model.Result'
at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnSAM(DefaultTypeTransformation.java:405)
at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnNumber(DefaultTypeTransformation.java:319)
at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToType(DefaultTypeTransformation.java:232)
at groovy.lang.MetaClassImpl.setProperty(MetaClassImpl.java:2715)
at groovy.lang.MetaClassImpl.setProperty(MetaClassImpl.java:3770)
at org.codehaus.groovy.runtime.InvokerHelper.setProperty(InvokerHelper.java:201)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.setProperty(ScriptBytecodeAdapter.java:484)