Ошибка приведения класса при установке состояния сборки Jenkins на UNSTABLE - PullRequest
0 голосов
/ 29 октября 2018

Я читал в нескольких местах, что можно установить статус сборки 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)
...