我是jenkins和groovy的新手,我正在尝试创建自己的配置,该配置允许我使用各种参数构建项目。为此,我使用Active Choices反应参考参数。作为选择类型,我设置了“格式化HTML”。它看起来完全符合我的要求,但不幸的是,没有其他内容,我无法返回要构建的参数。
这是我的常规脚本:
if(useDefaultValues.equals("YES")) {
return "defaultName"
} else {
inputBox = "<input name='name' class='setting-input' type='text'>"
return inputBox
}
有人可以帮我吗?
答案 0 :(得分:3)
将您的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\">"
输入字段使用名称value
是很重要的-它不会更改参数名称,如果您将其命名为name
,则可以使用$name
的方式访问它(如果例如,您使用Groovy。
将默认值作为隐藏的输入字段进行传递也很重要,否则将不会设置参数值。此隐藏的输入还必须使用名称value
。
但是,HTML格式的输入参数存在一个奇怪的问题-它总是在参数值的末尾添加,
。因此,例如,如果我通过lorem ipsum
,则当我使用参数$name
读取它时,我将得到lorem ipsum,
。似乎将其视为多个参数或其他内容。要从参数中提取纯净值,您可以执行类似(Groovy代码)的操作:
name.split(',').first()
答案 1 :(得分:0)
def defaultName = "default name"
if (useDefaultValues.equals("YES")) {
return "<input type=\"text\" name=\"value\" value=\"${defaultName}\" />"
}
return "<input name=\"value\" type=\"text\">"
检查“忽略值字段”固定逗号问题。(comma issue)