Я пытаюсь написать конвейер Jenkins, который бы перезапускал Jenkins раз в неделю, если не выполняются никакие задания.Поскольку я не хочу слишком долго блокировать запущенные задания, я пытаюсь вызвать doQuietDown
с аргументом тайм-аута.
https://javadoc.jenkins -ci.org / jenkins / model / Jenkins.html # doQuietDown-boolean-int-
Вот то, что я пытаюсь:
stage('Quiet Down') {
steps {
script {
boolean doBlock = true
int timeout_ms = 30000
Jenkins.doQuietDown(doBlock, timeout_ms)
}
}
}
Не удалось:
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: static jenkins.model.Jenkins.doQuietDown() is applicable for argument types: (java.lang.Boolean, java.lang.Integer) values: [true, 30000]
Possible solutions: doQuietDown(boolean, int), doQuietDown()
at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1501)
at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1487)
Так что это здоровоПередача в штучной упаковке типов, но Дженкинс ожидает неупакованных типов.Я пробовал приводить к распакованным типам booleanValue()
и intValue()
, используя true
и 30000
без переменных, но все это не имело никакого значения для сообщения об ошибке.
Я также пытался Jenkins.doQuietDown block: doBlock, timeout: timeout_ms
, нооно проходит LinkedHashMap
:
jenkins.model.Jenkins.doQuietDown() is applicable for argument types: (java.util.LinkedHashMap) values: [[block:true, timeout:30000]]
Я использую Jenkins 2.180 (текущая версия на момент публикации)