如何使用简化的HTML从Jenkins Active Choice参数获取用户输入

kiayqfof  于 2023-10-17  发布在  Jenkins
关注(0)|答案(2)|浏览(169)

我在Freestyle Job上定义了“Active Choices Reactive Reference Parameter”类型的参数
它返回HTML文本输入-.但是在填充此数据并按下“Build”后,我无法获得此文本字段的用户输入,尝试使用groovy或shell步骤,对于参数名称本身,我得到空字符串。
是否可以通过某种方式获取下面字段VAPP_ID的值?假设得到“123”

这是这个HTML的groovy脚本:

vappHtml = '''
<ul style="list-style-type: none">
  <li>
    <label for="VAPP_ID">VAPP_ID</label>
    <input type="text" id="VAPP_ID" name="VAPP_ID">
  </li>
</ul>
'''

return vappHtml
yx2lnoni

yx2lnoni1#

最后,我找到了在构建步骤中获取数据所需的确切输入定义。

groovy脚本:

vappHtml = '''
<ul style="list-style-type: none">
    <li style="padding: 5px">
    <label>VAPP_ID</label>
    <input type="text" class="setting-input" name="value">
  </li>
</ul>
'''

return vappHtml

具体如何获取数据

在构建步骤中,如Shell,只需获取原始构建参数(在我的情况下是**$Env_Details**)
2个必需属性缺少i

  • class=“设置-输入”
  • name=“value”(名称必须是“value”,没有其他内容)

注意-如果你想使用多个输入字段,只需给予相同的name属性:name=“value”,在结果中,它只会给你给予所有字段的值,用“,”分隔,所以你可以在groovy或其他东西中分割它。
希望能对大家有所帮助:)

byqmnocz

byqmnocz2#

确保name=“value”是唯一的实际要求。类不是必需的。我最近也遇到了同样的问题。我花了很长时间才弄明白为什么下面的输入不会返回任何东西。“Job_Name”是我的参数名。这也是个问题。“Job_Name”也是一个Jenkins参数名(你看不到)。你的参数名必须是唯一的,并且不能与其他环境变量重叠,否则它们不会返回任何东西。
BAD -参数名称为“job_name”

<input type="text" id="Job_Name" name="value" value="">

GOOD - param name是“name”

<input type="text" id="Name" name="value" value="">

相关问题