Я читал в нескольких местах, что можно установить статус сборки jenkins на желаемое значение (например, UNSTABLE), вызвав build.status = '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)