如何在Jenkins流水线输入描述中展示可点击URL
在Jenkins流水线输入步骤中添加可点击URL的方法
嘿,这个需求我之前折腾过!Jenkins的input步骤其实支持在消息里插入HTML格式的内容,这样就能把纯文本URL变成可点击的链接啦。不过得先确认下配置,再改代码,具体步骤如下:
1. 先调整Jenkins的安全配置(关键前提)
默认情况下Jenkins会限制HTML内容的渲染,所以你需要先开启允许安全HTML的选项:
- 进入Manage Jenkins -> Configure Global Security
- 在Markup Formatter部分,选择Safe HTML(如果是私有Jenkins集群,这个配置很安全;如果是公共环境,要注意XSS风险,不过一般内部使用没问题)
- 保存配置
2. 修改流水线代码,插入HTML链接
把你原来的message参数改成包含<a>标签的HTML内容就行。这里要注意字符串的拼接方式,避免语法错误。给你个完整的代码示例:
environment { def delobjectsurl = "${env.BUILD_URL}/artifact/logs/stage2.log" def delconfirmation = input ( id: 'delconfirmation', message: '是否确认标记为删除 [YES/NO]?<br>请先查看 <a href="' + delobjectsurl + '">待删除对象日志</a> 确认详情', parameters: [ choice(choices: ['YES', 'NO'], description: '选择是否执行删除操作', name: 'CONFIRM') ] ) }
或者用GString的写法(记得转义双引号):
message: "是否确认标记为删除 [YES/NO]?<br>请先查看 <a href=\"${delobjectsurl}\">待删除对象日志</a> 确认详情"
额外注意点
- 如果你的Jenkins版本比较新,可能需要在Manage Jenkins -> In-process Script Approval里确认相关的HTML渲染权限(如果出现权限报错的话,直接点批准就行)
- 尽量用
<br>来换行,保证消息在Jenkins UI里显示得更清晰 - 链接的文本要写得明确,比如“待删除对象日志”比直接放URL友好得多
内容的提问来源于stack exchange,提问作者Vipul
相关产品推荐
相关产品推荐

