jenkins利用插件Active Choices Plug-in达到联动显示或隐藏参数,且参数值可修改

1. 添加组件 Active Choices Plug-in

如jenkins无法联网,可在以下两个地址中下载插件,然后放到/home/jenkins/.jenkins/plugin下面重启jenkins即可

Active Choices

Active Choices | Jenkins plugin

2. 效果如下:

sharding为空时,sharding_info和copy_info不显示

sharding等于2时,显示sharding等于2时其它联动参数的值,且值可修改

3. 具体配置及脚本如下:

JOB 配置界面添加参数

Groovy Script脚本如下 :

if (sharding=="2") {
	return """
		<input name="value" type="text" id="VALUE" class="setting-input" value="this is 2">
		<img src="error/image/url" style="display: none;" onerror='document.getElementById("VALUE").closest(".form-group").style.display=""'>
	"""
}else if (sharding=="4") {
	return """
		<input name="value" type="text" id="VALUE" class="setting-input" value="this is 4">
		<img src="error/image/url" style="display: none;" onerror='document.getElementById("VALUE").closest(".form-group").style.display=""'>
	"""
}else {
	return """
		<input name="value" type="text" id="VALUE" class="setting-input" value="">
		<img src="error/image/url" style="display: none;" onerror='document.getElementById("VALUE").closest(".form-group").style.display="none"'>
	"""
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Jenkins 中使用 Active Choices Reactive Parameter 参数构建时,也可以实现点击某个选项实现 post 请求,不刷新当前页面。具体实现步骤如下: 1. 安装 Active Choices 插件。 2. 在 Jenkins 项目中,添加一个 Active Choices 插件类型的参数。 3. 在参数配置中,选择类型为“单选框”。 4. 在“Choice Type”中选择“Active Choices Reactive Reference”。 5. 在“Referenced Parameters”中填写需要依赖的参数名称。 6. 在“Script”中编写 Groovy 脚本,实现点击选项时发送 post 请求的功能。具体实现方法可以参考 Active Choices 插件官方文档。 7. 在 Jenkins 项目构建时,选择相应的选项,即可触发 post 请求,实现对应的操作。 需要注意的是,为了不刷新当前页面,可以使用 JavaScript 发送 post 请求,并使用 AJAX 技术实现异步刷新。具体实现方法可以参考前面提到的 AJAX 技术。 以下是一个示例脚本,实现在选择某个选项时触发 post 请求,并将请求结果显示Jenkins 构建日志中。 ```groovy def url = 'http://example.com/api/endpoint' def params = [:] def my_choice = binding.variables.get('MY_CHOICE') // MY_CHOICEActive Choices 参数中选择的选项 if (my_choice == 'option1') { params['key'] = 'value1' } else if (my_choice == 'option2') { params['key'] = 'value2' } else { println('Invalid choice') return } def response = post(url: url, requestBody: params, contentType: 'APPLICATION_JSON').getContent() println(response) ``` 在上面的示例脚本中,首先获取 MY_CHOICE 变量,然后根据选项的值发送对应的 post 请求,并将请求结果存储在 response 变量中。最后使用 println 命令将结果显示Jenkins 构建日志中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值