如何在Jenkins中发送包含FxCop警告与问题报告的邮件?
实现Jenkins构建后发送带FxCop图形化报告的邮件
嘿,这个需求我帮不少开发者处理过,结合你已经能在Jenkins仪表盘看到FxCop结果的现状,给你推荐几个成熟的实现方案:
方案一:Email Extension Plugin + FxCop原生报告嵌入
这是最省心的官方插件组合方案:
- 先确认你已经安装了Email Extension Plugin(邮件扩展插件)和当前用来展示FxCop结果的
FxCop Plugin; - 进入Jenkins项目配置,在「构建后操作」里添加「Editable Email Notification」:
- 触发条件选Always(不管构建成功、失败还是不稳定状态,都触发邮件);
- 在「Default Content」里自定义邮件内容,直接嵌入FxCop的图形化元素:
- 插入FxCop趋势图可以用HTML标签引用Jenkins内置图表地址:
<h3>FxCop警告趋势</h3> <img src="${BUILD_URL}fxcopResult/trend" alt="FxCop警告趋势图" /> - 要展示警告统计细节,还可以用FxCop插件自带的Jelly模板快速生成格式化内容:
<h3>FxCop警告级别统计</h3> ${JELLY_SCRIPT,template="fxcop"}
- 插入FxCop趋势图可以用HTML标签引用Jenkins内置图表地址:
方案二:HTML Publisher Plugin + 邮件内嵌定制报告
如果需要更个性化的图形展示,搭配HTML发布插件会更灵活:
- 安装HTML Publisher Plugin,在构建后操作里添加「Publish HTML reports」,配置FxCop输出的HTML报告路径(通常是
Report.html这类生成文件); - 回到邮件配置,在内容里直接引用发布后的HTML报告,或者提取报告里的图表单独嵌入:
(如果邮件客户端屏蔽外部图片,建议把图表图片转为base64编码内嵌,或者作为附件添加)<h3>FxCop详细警告分析</h3> <img src="${BUILD_URL}htmlpublisher/html/FxCop_Report/chart.png" alt="FxCop警告分布饼图" />
方案三:自定义脚本生成图形并发送邮件
要是插件的默认样式满足不了你的需求,比如要生成特定维度的柱状图/饼图,可以自己写脚本实现:
- 在构建结束后添加「执行Shell」或「执行Windows批处理命令」步骤,用Python(配合Matplotlib)或PowerShell(配合Chart模块)读取FxCop的XML报告文件;
- 解析出Critical、Error、Warning等不同级别警告的数量,生成定制化的图形图片;
- 最后用脚本调用邮件工具(比如Python的
smtplib、PowerShell的Send-MailMessage),把图片作为附件或内嵌到邮件里发送。
几个关键注意点
- 邮件里的外部图片容易被客户端屏蔽,优先选择内嵌(base64编码)或附件形式;
- 测试时先跑一次构建,检查邮件内容和图片是否正常显示,及时调整路径或嵌入方式;
- 用Jelly/Groovy模板时,建议先在Jenkins脚本控制台测试语法,避免邮件发送失败。
内容的提问来源于stack exchange,提问作者Abishek Alva
相关产品推荐
相关产品推荐

