【问题标题】:How to get user inputs from Jenkins Active Choice parameter using Formatted HTML如何使用格式化 HTML 从 Jenkins Active Choice 参数获取用户输入
【发布时间】:2026-01-12 06:25:01
【问题描述】:

我在 Freestyle Job 上定义了“Active Choices Reactive Reference Parameter”类型的参数

它返回 HTML 文本输入 - 。 但是在填充此数据并按“构建”后,我无法获取此文本字段的用户输入,尝试使用 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 

【问题讨论】:

  • 执行 echo VAPP_ID 或 vapHtml ...问题是您正在动态创建这些值,因此您仍然看不到它们...
  • @rohitthomas,试过了,什么也没得到。似乎如果您在该 groovy 脚本中创建变量,它在构建步骤中将不可用,它是一种“局部变量”。按“构建”后,您能够从 html 中获取用户输入吗?
  • 引用的参数值是多少?做一个回应
  • plugins.jenkins.io/uno-choice/… 阅读高级部分,他们提到需要做什么才能在构建中获得价值

标签: jenkins jenkins-groovy


【解决方案1】:

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

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 个强制属性
  • class="设置输入"
  • name="value" (名称必须是 'value' 而不是别的)

注意 - 如果您想使用多个输入字段,只需为所有输入字段赋予相同的名称属性:name="value",结果只会为您提供以“,”分隔符分隔的所有字段值, 所以你可以把它拆分成 groovy 之类的。

希望对某人有所帮助:)

【讨论】: