需求
在 Jenkins 中显示 HTML 标签内容(例如格式化的文本、颜色、图标等)是一个常见的需求,如下,编译工程显示当前编译的分支:

但 Jenkins 默认会出于安全考虑(防止 XSS 攻击)转义 HTML 标签,导致这些标签不会被解析为格式化的文本,而是直接以纯文本形式显示。但 Jenkins 默认会出于安全考虑(防止 XSS 攻击)转义 HTML 标签,导致这些标签不会被解析为格式化的文本,而是直接以纯文本形式显示。
如何实现
安装 Markup Formatter 插件
-
在 Jenkins 的管理 页面中,进入 插件管理 > 可用插件。
-
搜索 Markup Formatter插件并安装。
设置描述信息
在您的 Jenkinsfile 或脚本中,设置 currentBuild.description
:
Groovy
pipeline {
agent {
...
}
stages {
stage('Description') {
steps {
script {
// 设置构建描述
currentBuild.description = "分支: <span style='font-size:12px;color:green;'>${Branch}</span>"
}
}
}
}
全局安全配置
-
在 Jenkins 的 Manage Jenkins ,进入 Security。
-
找到 标记格式器 ,选择 Safe HTML
**【注意】**虽然插件会过滤掉一些危险内容,但仍然需要谨慎使用,避免引入恶意脚本。

如果没有设置标记格式器为Safe HTML,而是原值:Plain Text,会直接显示原文本,显示为如下格式:
