You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins Groovy脚本邮件Triggered行粗体失效问题排查

问题原因

你遇到的问题核心是所有邮件内容都被包裹在<pre>标签中,HTML的<pre>标签会将内部所有内容当作预格式化文本处理,包括<b>这类HTML标签都会被直接显示成普通文本,不会被浏览器解析渲染。

解决方案

把<pre>标签替换成带有white-space: pre-wrap样式的<div>,这样既能保留日志的换行、空格格式,又能正常解析内部的HTML格式化标签。

修改后的关键代码片段:

def emailBody = "Rebuilds build #${currentBuild.number}\n"
// 替换<pre>为带样式的div,保留格式同时支持HTML标签解析
emailBody += "<div style='white-space: pre-wrap; font-family: monospace;'>[Pipeline] Start of Pipeline\n"
emailBody += "[Pipeline] node\n"
emailBody += "Running on Jenkins in ${env.WORKSPACE}\n"
emailBody += "[Pipeline] {\n\n"

// 中间的日志循环处理逻辑保持不变

// 替换</pre>为</div>
emailBody += "\n[Pipeline] //}</div>\n"
emailext body: emailBody, subject: emailSubject, to: "avinash.akotkar@keysight.com", mimeType: 'text/html'
额外优化建议

<font>是HTML4的过时标签,推荐用CSS样式替代,让代码更符合现代HTML规范:

// Triggered行的写法替换为
emailBody += "<span style='font-family: \"Calibri (Body)\"; color: blue; font-weight: bold;'>$line</span>\n"
// Stage成功状态行的写法替换为
emailBody += "<span style='font-family: \"Calibri (Body)\"; color: green;'>$line</span>\n"

内容的提问来源于stack exchange,提问作者Avinash Akotkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 22:55:20