使用 Active Choice Reactive Reference Parameter 构建项目
Building project with Active Choice Reactive Reference Parameter
我是 jenkins 和 groovy 的新手,我正在尝试创建我自己的配置,它允许我使用各种参数构建我的项目。为此,我使用了 Active Choices Reactive Reference Parameter。作为选择类型,我设置 "Formatted HTML"。它看起来完全符合我的要求,但不幸的是,无论如何,我无法 return 构建参数。
这是我的 groovy 脚本:
if(useDefaultValues.equals("YES")) {
return "defaultName"
} else {
inputBox = "<input name='name' class='setting-input' type='text'>"
return inputBox
}
谁能帮我解决这个问题?
将您的 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()
def defaultName = "default name"
if (useDefaultValues.equals("YES")) {
return "<input type=\"text\" name=\"value\" value=\"${defaultName}\" />"
}
return "<input name=\"value\" type=\"text\">"
检查 "Omit value field" 已修复的逗号问题。(comma issue)
我是 jenkins 和 groovy 的新手,我正在尝试创建我自己的配置,它允许我使用各种参数构建我的项目。为此,我使用了 Active Choices Reactive Reference Parameter。作为选择类型,我设置 "Formatted HTML"。它看起来完全符合我的要求,但不幸的是,无论如何,我无法 return 构建参数。
这是我的 groovy 脚本:
if(useDefaultValues.equals("YES")) {
return "defaultName"
} else {
inputBox = "<input name='name' class='setting-input' type='text'>"
return inputBox
}
谁能帮我解决这个问题?
将您的 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()
def defaultName = "default name"
if (useDefaultValues.equals("YES")) {
return "<input type=\"text\" name=\"value\" value=\"${defaultName}\" />"
}
return "<input name=\"value\" type=\"text\">"
检查 "Omit value field" 已修复的逗号问题。(comma issue)