Jenkins和插件升级后,Jenkins ActiveChoiceParam异常

问题描述

在最近的jenkins版本升级到2.245并将ActiveChoice插件升级到2.1和Scriptler插件升级到3.1之后。我使用脚本编辑器动态生成的作业现在失败,并出现以下错误:

    No signature of method: javaposse.jobdsl.dsl.helpers.parameter.ActiveChoiceContext.scriptlerScript() is applicable for argument types: (java.lang.String,XyzJob$_run_closure1$_closure9$_closure23$_closure24$_closure25) values: [xyz.groovy,XyzJob$_run_closure1$_closure9$_closure23$_closure24$_closure25@31decd67]

这样的代码非常简单(错误发生在脚本脚本行)

    parameters {
      activeChoiceParam(component.name.toString().replace("-","_")) {
        description(selectionDescription)
        choiceType('SINGLE_SELECT')
        scriptlerScript("xyz.groovy") {
          parameter("parameterItems",stringToUseInMenu)
        }
      }
    }

解决方法

进一步挖掘scriptscripler()方法已从新版本的jobdsl中删除,因此出现错误。

解决方法似乎是将scriptler函数重写为groovyscript或寻找替代方法。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...