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

Adi*_*r D 4 jenkins jenkins-groovy

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

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

Adi*_*r D 7

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

时髦的脚本:

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
Run Code Online (Sandbox Code Playgroud)

如何实际获取数据

在构建步骤中,如 Shell,只需获取原始构建参数,在我的情况下它是$Env_Details

我缺少<input> 的2 个必需属性

  • 类=“设置输入”
  • name="value"(名称必须是 'value' 而不是别的)

注意 - 如果您想使用多个输入字段,只需为所有输入字段赋予相同的名称属性:name="value",在结果中,它只会为您提供以“,”分隔符分隔的所有字段值,因此您可以将其拆分为 groovy 或其他内容。

希望它会帮助某人:)