打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱

前言

个人其实一直的不太喜欢用邮箱发送报告,测试报告用邮件通知这都是五六年前的事情了,但有部分小伙伴依然执着于发邮件报告通知。
这里整理了下发邮箱通知的教程。

配置你的邮箱

配置邮箱这一步最繁琐,由于每个人使用的邮箱不一样,配置也是不一样的,没有固定的答案。
这就导致很多人在配置邮箱这一步就被卡住……

安装 Email Extension Plugin 插件

jenkins首页-系统管理-插件管理,可选插件,搜索:Email ,安装Email Extension Plugin插件

jenkins首页-系统管理-系统配置页面,先配置系统管路员邮箱地址,也就是发件人的地址

测试邮箱的配置是否能发送邮件

SMTP服务器 邮箱的服务器地址,不同的邮箱这里是不一样的
用户名 你自己的邮箱地址,跟上面系统管理员邮箱地址一致
密码 QQ邮箱是用的SMTP_SSL模式,所以这里不是QQ的密码,是授权码
使用SSL协议 QQ邮箱需勾选,腾讯企业邮箱不需要勾选
smtp端口 一般默认465
Test e-mail recipient 测试收件人的地址

点右侧的 Test configuration 按钮即可测试邮件测试

Extended E-mail Notification配置

上一步是jenkins系统自带的邮件功能,功能比较少,接着使用Email Extension Plugin插件,前面配置跟上面一步差不多

Default Content Type 邮件的类型使用HTML 格式
Default Recipients 是默认的收件人

接着配置邮件的模板内容,也就是这个Email邮件的高级内容

  • Default Subject 邮件的主题,一般不用改

  • Default Content 邮件的正文内容,html格式,内容如下

<!DOCTYPE html>    
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>

<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
offset="0">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
本邮件由系统自动发出,无需回复!<br/>
各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br>
<td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>
</tr>
<tr>
<td><br />
<b><font color="#0B610B">构建信息</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>项目名称 :${PROJECT_NAME}</li>
<li>构建编号 :第${BUILD_NUMBER}次构建</li>
<li>触发原因:${CAUSE}</li>
<li>构建状态:${BUILD_STATUS}</li>
<li>构建日志:<a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
<li>构建 Url :<a href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>测试报告:<a href="${PROJECT_URL}allure">${PROJECT_URL}allure</a></li>
</ul>

<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>

<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>

</td>
</tr>
</table>
</body>
</html>

生成allure报告

插件管理搜索:allure, 安装 allure 插件


系统管理-全局工具管理,安装allure命令行工具

新建流水线任务

新建流水线任务


配置Pipeline script

完整的pipline脚本

pipeline {
agent any
stages {
stage('your-tests') {
steps {
// check out git仓库
git credentialsId: '证书id', url: 'https://gitee.com/你自己仓库地址'
// Depends on your language / test framework
// sh 'pip3.9 install -r requirements.txt'
// 执行pytest用例,生成报告
sh 'python3.9 -m pytest --alluredir ./report'
}
post{
always{
script{
echo "构建后操作 allure report.........."
allure includeProperties: false, jdk: '', results: [[path: 'report']]
}
}
}
}
}

post {
always{
script{
println("流水线结束后做的事情")
echo "send email"
emailext body: '''
构建 Url :<a href="${BUILD_URL}">${BUILD_URL}</a> <br>
测试报告:<a href="${PROJECT_URL}allure">${PROJECT_URL}allure</a>
''',
subject: '$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!',
to: '283340479'

}
}

success{
script{
println("流水线成功后,要做的事情")
}

}
failure{
script{
println("流水线失败后,要做的事情")
}
}

aborted{
script{
println("流水线取消后,要做的事情")
}

}
}


}

配置完成后,执行job,邮箱就能收到运行报告了

其中邮件正文内容可以自定义自己想要的内容,比如前面在系统设置里配置的邮箱默认发送内容,复制过来就可以了。

2023年第 17期《Python接口自动化+Playwright 》课程,12月3号开学(课程全面升级!)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
HTML标记参考手册
[原创] Jenkins 邮件配置 (使用 Jenkins Email Extension Plugin)
html代码怎样保存和使用
Jenkins环境配置
Jenkins持续集成CI,持续部署CD、集成Allure报告
allure 这么高大上的测试报告环境,5 分钟搞定
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服