Jenkins流水线中如何获取Active Choice响应式引用参数的用户输入值
问题解决方法
问题出在Formatted HTML类型的Active Choice Reactive Reference参数默认只负责渲染动态HTML,不会自动把自定义输入框的值绑定到参数变量里,所以直接调用params.FA会返回null。可以通过以下步骤解决:
- 修改Active Choice参数的Groovy脚本,在渲染输入框时先读取请求中的输入值(如果存在),并把它设为输入框的默认值,同时保证输入框的
name属性和参数名FA完全一致:
def faValue = request.getParameter('FA') ?: '' if (!PATCH.equals("Verify")) { return "<input name='FA' value='${faValue}' class='setting-input' type='text'>" } else { return "" // 当PATCH为Verify时,可返回空或其他内容 }
- 调整后,用户在输入框填写内容并提交构建时,Jenkins就能捕获到这个值,流水线里的
echo "${params.FA}"就可以正常输出用户输入的内容了。
额外注意:
- 确认
PATCH是已正确定义的参数,且参数名大小写和脚本里的一致 - 如果是流水线项目,要确保这个Active Choice参数已在Jenkinsfile的
parameters块中正确配置
内容的提问来源于stack exchange,提问作者user2085714
相关产品推荐
相关产品推荐

