jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱

前言

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

配置你的邮箱

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

安装 Email Extension Plugin 插件

jenkins首页-系统管理-插件管理,可选插件,搜索: Email ,安装Email Extension Plugin插件
jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱_第1张图片

jenkins首页-系统管理-系统配置页面,先配置系统管路员邮箱地址,也就是发件人的地址
jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱_第2张图片

测试邮箱的配置是否能发送邮件
jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱_第3张图片

jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱_第4张图片

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

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

Extended E-mail Notification配置

上一步是jenkins系统自带的邮件功能,功能比较少,接着使用Email Extension Plugin插件,前面配置跟上面一步差不多
jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱_第5张图片

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

接着配置邮件的模板内容,也就是这个Email邮件的高级内容
jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱_第6张图片

  • Default Subject 邮件的主题,一般不用改
  • Default Content 邮件的正文内容,html格式,内容如下
    
    
    
    
${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志    
    
    
    
        
            本邮件由系统自动发出,无需回复!
各位同事,大家好,以下为${PROJECT_NAME }项目构建信息
构建结果 - ${BUILD_STATUS}

构建信息

失败用例


$FAILED_TESTS

最近提交(#$SVN_REVISION)


    ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="
  • %d [%a] %m
  • "}
详细提交: ${PROJECT_URL}changes

生成allure报告

插件管理搜索:allure, 安装 allure 插件
jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱_第7张图片
系统管理-全局工具管理,安装allure命令行工具
jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱_第8张图片

新建流水线任务

jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱_第9张图片

新建流水线任务
jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱_第10张图片
配置Pipeline script
jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱_第11张图片

完整的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 : ${BUILD_URL}  
测试报告: ${PROJECT_URL}allure ''', subject: '$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!', to: '283340479' } } success{ script{ println("流水线成功后,要做的事情") } } failure{ script{ println("流水线失败后,要做的事情") } } aborted{ script{ println("流水线取消后,要做的事情") } } } }

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

jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱_第12张图片

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

你可能感兴趣的:(jenkins)