jb2*_*b27 5 groovy jenkins jenkins-groovy
我是 jenkins 和 groovy 的新手,我正在尝试创建自己的配置,这允许我使用各种参数构建我的项目。为了实现这一点,我使用了 Active Choices Reactive Reference 参数。作为选择类型,我设置了“格式化的 HTML”。它看起来和我想要的完全一样,但不幸的是,无论如何,我无法返回参数来构建。
这是我的常规脚本:
if(useDefaultValues.equals("YES")) {
return "defaultName"
} else {
inputBox = "<input name='name' class='setting-input' type='text'>"
return inputBox
}
Run Code Online (Sandbox Code Playgroud)



任何人都可以帮我解决这个问题吗?
将您的 Groovy 脚本更新为如下所示:
def defaultName = "default name"
if (useDefaultValues.equals("YES")) {
return "<b>${defaultName}</b><input type=\"hidden\" name=\"value\" value=\"${defaultName}\" />"
}
return "<input name=\"value\" class=\"setting-input\" type=\"text\">"
Run Code Online (Sandbox Code Playgroud)
重要的是您的输入字段使用名称value- 它不会更改您的参数名称,如果您命名它,name您将能够访问它$name(例如,如果您使用 Groovy)。
将默认值作为隐藏输入字段传递也很重要,否则不会设置参数值。这个隐藏的输入也必须使用 name value。
然而,HTML 格式的输入参数有一个奇怪的问题——它总是添加,在参数值的末尾。因此,例如,如果我通过lorem ipsum,当我使用参数读取它时,$name我会得到lorem ipsum,. 看起来它把它当作多个参数什么的。要从参数中提取干净的值,您可以执行以下操作(Groovy 代码):
name.split(',').first()
Run Code Online (Sandbox Code Playgroud)
def defaultName = "default name"
if (useDefaultValues.equals("YES")) {
return "<input type=\"text\" name=\"value\" value=\"${defaultName}\" />"
}
return "<input name=\"value\" type=\"text\">"
Run Code Online (Sandbox Code Playgroud)
检查“省略值字段”修复逗号问题。(逗号问题)
| 归档时间: |
|
| 查看次数: |
8585 次 |
| 最近记录: |