jenkins发送邮箱配置,出现Error sending to the following VALID addresses,解决方案

Jenkins发送邮箱配置,需要的插件:Extended E-mail Notification,邮件通知

1、Manage Jenkins -> Configure System

2、下图是“邮件通知”的高级配置,开始只配置了这里,没有配置Extended E-mail Notification里高级配置,导致构建成功后报:Error sending to the following VALID addresses,第三步是解决这个问题

3、由于发送邮件用的插件是:Extended E-mail Notification,所以一定要配置在这里配置SMTP的端口号,及发件人账号和客户端授权密码

Extended E-mail Notification-高级配置

4、去工程里配置邮件内容

因为我在工程里用的是Editable Email Notifaction,所以在系统配置里一定要用Extended E-mail Notification插件里的高级配置才能发下来邮件

jenkins发送邮箱配置,出现Error sending to the following VALID addresses,解决方案的更多相关文章

  1. Jenkins 邮件配置 || Jenkins 发送邮件失败,提示:Error sending to the following VALID addresses

    jenkins---系统管理---系统设置 在Jenkins URL下填写URL链接 在系统管理员邮件地址下填写发件邮箱,这将是以后发送邮件通知的发件人 如果下载了外部邮件通知 配置一下SMTP se ...

  2. Jenkins简介&邮箱配置

    一.Jenkins基本介绍: Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.--摘自百科 二 ...

  3. Jenkins邮件配置,实现邮件发送策略(可实现每个Job对应不同的发送邮箱)

    前言: 首先,要有一个用来发送的邮箱,首选网易!参考:http://www.cnblogs.com/EasonJim/p/6051636.html,这里我注册了网易的免费企业邮箱. 并且我新建没多个邮 ...

  4. window下jenkins+allure+邮箱发送

    一.安装allure 1)下载 allure.zip 下载地址:allure-github: https://github.com/allure-framework/allure2 2)解压到本地目录 ...

  5. Jenkins操作学习 --邮箱配置及测试结果构建

    前言 使用jenkins做持续集成工具,构建的整个过程中,肯定要对结果进行记录和跟踪,这里我们以qq邮箱为例,来讲解如何配置jenkins的邮箱及发送构建结果 一.明确邮箱服务器相关信息 这里我们,要 ...

  6. django配置发送邮箱

    该邮箱配置后台发送邮箱验证使用 settings内配置 # 服务器地址 EMAIL_HOST = 'smtp.163.com' # 端口,邮箱默认动态端口 25 EMAIL_PORT = 25 # 邮 ...

  7. Jenkins 系统管理与配置

    1. Jenkins 安装插件的两种方式 2. 添加凭据(Credentials) 3. 系统管理--全局工具配置 4. 系统管理--系统设置 5. 常用插件说明 Extended E-mail No ...

  8. tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片

    本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...

  9. Jenkins 之邮件配置

    Jenkins 之邮件配置其实还是有些麻烦的,坑比较多,一不小心就...我是走了很多弯路的. 这里记录下来,希望大家以后不要重蹈覆辙: 我测试过,这里的 Extended E-mail Notific ...

 

出处:https://www.shuzhiduo.com/A/QW5YglDBzm/

=======================================================================================

Jenkins 邮件配置,发送失败,提示:Error sending to the following VALID addresses

jenkins---系统管理---系统设置

在Jenkins URL下填写URL链接

在系统管理员邮件地址下填写发件邮箱,这将是以后发送邮件通知的发件人

如果下载了外部邮件通知

配置一下SMTP server

Default user E-mail suffiix

Default Content Type

邮件通知属性下配置

SMTP服务器

后缀等

点击高级可以进行测试,一般测试OK, 那邮箱服务器的配置就没有问题

除去在系统配置中,在各个具体的项目下也进行配置

比如何时收到邮件,是在success的状态下收到,还是失败的状态下收到

收件人列表,该项目涉及的人

邮件模板

邮件标题模板:

【构建通知】$PROJECT_NAME - Build #$BUILD_NUMBER - $BUILD_STATUS!

邮件内容模板:

<!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>
                <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>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
                    <li>工作目录: <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
                    <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
                    <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
                </ul>
                
                <div>
                    <h4><font color="#0B610B">测试结果</font></h4>
                    <hr size="2" width="100%" />
                    <div>
                        本次测试共执行<b>${TEST_COUNTS}</b>个用例,
                        成功<b style="color: green">${TEST_COUNTS,var="pass"}</b>个,
                        失败<b style="color: red">${TEST_COUNTS,var="fail"}</b>个,
                        跳过<b style="color: #FFEB3B">${TEST_COUNTS,var="skip"}</b>个。
                    </div>
                </div>
 
                <h4><font color="#0B610B">失败用例</font></h4>
                <hr size="2" width="100%" />
                <!--<pre class="Jack_Meng" style="font-weight: normal">${FAILED_TESTS,showMessage="false",showStack="false"}</pre>-->
                <pre>${FAILED_TESTS}</pre>
                
                <h4><font color="#0B610B">获取最近SVN源码库提交号(#$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>

 

这个模板,每个项目可以根据项目自身的需求修改模板。

以上是Jenkins总的配置,接下来各个项目,比如邮件要发送的人,要在什么情况下进行发送等,是在具体的项目下进行配置

第一个构建设置: 一般是在不稳定的时候,或者构建失败的时候,给某人发送邮件

第二个构建后操作:选择其中的编辑邮件通知。然后设置项目接受列表,回复啊,邮件内容等,注意这些都是在全局配置基础上的,全局的配置依然有效


问题1:Jenkins发送邮件失败,提示:Error sending to the following VALID addresses
https://testerhome.com/topics/14611 所列的解决方案,于我无效,同样遇到上述问题
 

 

在我这边,不能不填写具体的project from,也不能填写错误,可能是因为QQ邮箱的缘故,必须填写QQ邮箱中绑定的发件箱的邮箱地址之后就成功了

Jenkins 邮件配置 || Jenkins 发送邮件失败,提示:Error sending to the following VALID addresses的更多相关文章

  1. jenkins发送邮箱配置,出现Error sending to the following VALID addresses,解决方案

    Jenkins发送邮箱配置,需要的插件:Extended E-mail Notification,邮件通知 1.Manage Jenkins -> Configure System 2.下图是“ ...

  2. jenkins邮件配置----jenkins笔记(三)

    转载地址:https://www.cnblogs.com/sylvia-liu/p/4527390.html 前言 最近搭建Maven+Testng+jenkins的持续集成环境,希望最后实现自动邮件 ...

  3. Jenkins学习四:Jenkins 邮件配置

    本文主要对Windows环境 jenkins 的邮件通知进行介绍 jenkins 内置的邮件功能 使用email-ext插件扩展的邮件功能 邮件通知功能主要包含两个部分:全局配置和项目配置. 一. 先 ...

  4. jenkins 邮件配置一

    jenkins默认的邮件通知 我先讲解下,默认的. jenkins默认就有一个邮件通知,只是太简单的,不能个性化或者说定制化. 设置系统管理员邮件地址 邮件通知 ①SMTP服务器:如果你使用的是公司邮 ...

  5. jenkins 邮件配置 二 ***

    Jenkins 有两种邮件通知方式: 1.Jenkins自带的“E-mail Notification” 2.插件:Extended E-mail Notification,是可编辑的邮件配置方式. ...

  6. jenkins 邮件配置步骤

    一.进行系统管理中的邮件配置步骤: 1.设置Extended E-mail Notification 二.对构建的job 添加邮件发送的步骤: 3.成功截图:

  7. jenkins邮件配置以及邮件添加附件详解

    1.在系统管理-系统设置  中找到邮件配置模块 填写情况如下图 第一步,填写系统管理员邮箱 第二步,填写邮箱配置 第三步,然后在项目中添加邮箱配置 项目中邮件设置中关于附件添加 因为我的项目目录中分3 ...

  8. s3cmd在配置后使用时提示ERROR: S3 error: 403 (InvalidAccessKeyId): The AWS Access Key Id you provided does not exist in our records.

    自己新建的ceph环境,下载了s3cmd来做客户端,使用了s3cmd --configure配置后,在使用s3cmd ls可以查看到所有的bucket,但s3cmd ls s3://xxx 具体buc ...

  9. Jenkins邮件配置,实现邮件发送策略(可实现每个Job对应不同的发送邮箱)

    前言: 首先,要有一个用来发送的邮箱,首选网易!参考:http://www.cnblogs.com/EasonJim/p/6051636.html,这里我注册了网易的免费企业邮箱. 并且我新建没多个邮 ...

 

 

出处: https://www.bbsmax.com/A/mo5k09Kvdw/

=======================================================================================

jenkins邮件模板配置

一、安装 Email Extension 插件

系统管理->插件管理,这里安装插件“Email Extension”用于设置邮件模板。
在这里插入图片描述
二、配置系统默认邮件参数

(一)内置的Jenkins 邮件服务器配置

1.系统管理-系统设置,先设置发件人的邮件,切记:一定要设置,且在系统管理员那个地方设置的email地址要和email配置的相同。
在这里插入图片描述
2. 系统管理-系统设置,再设置全局设置
在这里插入图片描述
使用gmail时,抛出javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not acceptedhttps
//www.google.com/settings/security/lesssecureapps
将“允许安全性较低的应用程序:关闭”改为“允许安全性较低的应用程序:开启”

设置完成后,可以勾选 “通过发送测试邮件配置” 测试此配置能否连通。

(二)Extended E-mail Notification 设置
在这里插入图片描述
详细参数说明如下:

 Override Global Settings:如果不选,该插件将使用默认的E-mail Notification通知选项。反之,可以通过指定不同于的设置来进行覆盖。
 Default Content Type:指定构建后发送邮件内容的类型,有Text和HTML两种。
 Use List-ID Email Header:为所有的邮件设置一个List-ID的邮件信头。
 Add 'Precedence: bulk' Email Header:设置优先级。
 Default Recipients:自定义默认电子邮件收件人列表。
 Reply To List:回复列表。
 Emergency reroute:如果这个字段不为空,所有的电子邮件将被单独发送到该地址(或地址列表)。
 Excluded Committers:防止邮件被邮件系统认为是垃圾邮件,邮件列表应该没有扩展的账户名(如:@domain.com),并且使用逗号分隔。
 Default Subject:自定义邮件通知的默认主题名称。该选项能在邮件的主题字段中替换一些参数,这样就可以在构建中包含指定的输出信息。
 Maximum Attachment Size:邮件最大附件大小。
 Default Content:自定义邮件通知的默认内容主体。该选项能在邮件的内容中替换一些参数,这样就可以在构建中包含指定的输出信息。
 Default Pre-send Script:默认发送前执行的脚本。
 Enable Debug Mode:启用插件的调试模式。
 nable Security:启用时,会禁用发送脚本的能力,直接进入Jenkins实例。如果用户试图访问Jenkins管理对象实例,将抛出一个安全异常。
 Content Token Reference:邮件中可以使用的变量,所有的变量都是可选的。

三、配置邮件模板

  1. 安装插件:

Config File Provider:提供文件的存储插件。

Pipeline Utility Steps:提供文件的读写的插件。

  1. 添加模板文件

系统管理->Managed files->Add a new Config,选择“Extended Email Publisher Groovy Template”类型,然后添加邮件模板。

在这里插入图片描述

<!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>  
            <td>各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</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}ws">${PROJECT_URL}ws</a></li>  
                    <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>  
                </ul>  
            </td>  
        </tr>  
        <tr>
            <td><b><font color="#0B610B">历史变更记录:</font></b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td>
                ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br />%m</pre>",pathFormat="&nbsp;&nbsp;&nbsp;&nbsp;%p"}
            </td>
        </tr>
    </table>  
</body>  
</html>

四、Jenkinsfile中添加script

stage('email'){
        echo "测试发送邮件"
        // 设置生成模板文件
        configFileProvider([configFile(fileId: '6615581f-719a-4edc-9f3a-161438441471',
                                       targetLocation: 'email.html',
                                       variable: 'failt_email_template')]) {
            //  读取模板
            template = readFile encoding: 'UTF-8', file: "${failt_email_template}"
            //  发送邮件
            emailext(subject: '任务执行失败',
                     attachLog: true,
                     recipientProviders: [requestor()],
                     to: 'yuhuan.shi@kikatech.com',
                     body: """${template}""")
        }
    }
  }

body: 邮件内容
subject: 邮件主题
to: 指定邮件接收者
attachLog: 附加构建日志信息到附件中
recipientProviders: 设置邮件接收者,可以设置向任务请求触发人员、项目组、整个团体等发生邮件,这样既可以发生邮件到 to 中的设置人员,也可以发生给对应触发人员。

 
出处:https://blog.csdn.net/qq_40396818/article/details/119865344

=======================================================================================

Jenkins 邮件发送「可修改模版」

 

这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战

上一篇,Jenkins Pipeline 结合 Gitlab 实现 Node 项目自动构建 我们已经实现了自动构建的功能。

在团队合作中,项目在构建异常「或成功」时候,需要邮件通知相关的人员,这就涉及到 Jenkins 邮件发送的功能了。

安装 Email Extension

Email Extension 插件允许你配置邮件通知。通过此插件,你可以自定义邮件的发送人,接受者和发送的内容。

Manage Jenkins -> Manage Plugins -> Available 。搜索 Email Extension 安装

install_email_extension.png

配置 Email Extension 参数

Manage Jenkins -> Configure System -> Extended E-mail Notification

extended_email_parameter.png

第 1 点: Simple Mail Transfer Protocol (SMTP) 自己申请,如果不知道如何操作,请网上找答案。(应该也许不难吧...)

fear.jpeg

第 2 点: 邮件默认的接收邮件地址。

构建脚本

使用Jenkins Pipeline 结合 Gitlab 实现 Node 项目自动构建Jenkinsfile脚本补充下。

pipeline {
    agent any
    
    tools { 
        nodejs "nodejs" 
    }
    
    stages {
        stage('Dependency') {
            steps {
                sh 'npm install'
            }
        }
        stage('Build') { 
            steps {
                sh 'npm run clean' 
                sh 'npm run build' 
            }
        }
    }
    
    // 添加的脚本内容
    post {
        always {
            emailext body: '${DEFAULT_CONTENT}',
                subject: '${DEFAULT_SUBJECT}',
                to: '${DEFAULT_RECIPIENTS}',
                from: '${env.DEFAULT_FROM_EMAIL}'
        }
    }
}

复制代码

这就很明显了:默认发送邮箱默认接收邮箱默认的发送主题默认的发送内容。都是获取我们上一步设定的值。效果如下:

构建失败:

build_failure.png

构建成功:

build_success.png

对比上面的两张图,构建失败和构建成功,的构建结果字体竟然是不同的颜色,神奇...

如果你看上一节配置 Email Extension 参数中的截图,你可能会留意到:

<h2><font color="${BUILD_STATUS}">构建结果 - ${BUILD_STATUS}</font></h2>
复制代码

color="${BUILD_STATUS}" 嗯,加上这个,不同状态返回的构建结果字体不同颜色了?我们带动下构建pipelinealways -> changed。触发构建信息由失败 -> 成功,得到下面的结果:

build_failure_to_success.png

看来是想多了啊,并不是不同的状态不同颜色啊。不过,如果你不介意这个bug,可以使用...

尴尬.jpeg

升级下需求

发送邮件需要根据不同状态,使用特定的颜色区分。比如:成功 -> #27AE60 , 失败 -> #E74C3C , 其他颜色 -> #F4E242

咦,这还不简单?在默认的发送模版上添加判断条件就行了。

然而,不支持,太惨了,得另辟蹊径~(大雾)

惨猫.jpeg

经过一番搜索,Groovy Template 能够解决这个问题。

我们更改下 pipeline 脚本:

# ...
post {
    always {
        emailext body: '''${SCRIPT, template="my-email-template"}''',
            subject: '${DEFAULT_SUBJECT}',
            to: '${DEFAULT_RECIPIENTS}',
            from: "${env.DEFAULT_FROM_EMAIL}"
    }
}
# ...
复制代码

我们构建下。构建是成功了,但是邮箱收到的却是:

first_time_groovy.png

Groovy Template file [my-email-template] was not found in $JENKINS_HOME/email-templates.
复制代码

邮件提示,机器中 $JENKINS_HOME/email-templates 下并不存在 my-email-template 模版。(笑哭)

没有权限怎么办呢?咱可以通过其他方法不?

再查找资料,咦,有了 - Email Extension Plugin is not loading groovy template added via Config File Provider Plugin。通过配置文件解决,我们来见证下:

步骤 1 :jenkins 平台上操作,Manage Jenkins -> Managed Files

步骤 2 : 点击 Add a new Config

步骤 3 : 点选类型 Extended Email Publisher Groovy Template, 点击 Submit 按钮提交

步骤 4 : 输入名称和相关的内容。请记住名称,后续使用到。

configuration_file.png

因为截图篇幅问题,这里的 Content 内容并没有截取完整,完整的内容请戳Groovy_template.html,其中的关键代码如下:

  .tr-title {
    background-color: <%= (build.result == null || build.result.toString() == 'SUCCESS') ? '#27AE60' : build.result.toString() == 'FAILURE' ? '#E74C3C' : '#F4E242' %>;
  }
复制代码

Groovy 官方完整模版请见官方模版Groovy Email Template

扎心了啊,老铁(尬笑)

步骤 5 : 修正你的 pipeline 文件,请确保你输入和正确的名字"managed:Groovy Email Template"

# ...
post {
    changed {
        emailext body: '''${SCRIPT, template="managed:Groovy Email Template"}''',
            subject: '${DEFAULT_SUBJECT}',
            to: '${DEFAULT_RECIPIENTS}',
            from: "${env.DEFAULT_FROM_EMAIL}"
    }
}
# ...
复制代码

一切就绪,我们重新构建。结果如下:

构建状态邮箱收到内容截图
成功 build_color_success.png
失败 build_color_failure.png
中止 build_color_abort.png

嗯~效果不错(撒花🎉🎉🎉)完结

读者有啥其他的方法呢,可以留言交流下。更多的内容,请戳Jimmy Github Blog

 
出处:https://juejin.cn/post/7062327576395513887

=======================================================================================

个人情况说明

我自己的问题,上面两篇文章基本都讲解到了。

我的是在Jenkins管理-->系统配置-->Extended E-mail Notification-->高级

 

 重新指定用户名和密钥,就可以正常在项目构建的时候发送邮件了

 个人使用邮件模板

我自己做项目中使用的是pipeline模式,邮件模板自己根据上面的稍微有一些修改

1)可以支持多种方式发生邮件。

2)邮件模板内容替换,支持命令行获取svn版本号等。

pipeline {
    agent any
    
    environment {
        _FOO = "bar"
        _name="jack"
    }
    
    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
                echo "Hello World  name=${_name}"
                echo "======JOB_NAME=${JOB_NAME}"
                echo "======JENKINS_URL=${JENKINS_URL}"
                println('======Hello World println');
                echo "======STAGE_NAME=${STAGE_NAME}"
                echo "======env.BRANCH_NAME=${env.BRANCH_NAME}"
                echo "======currentBuild.result=$currentBuild.result"
                
                println '--------------------------------------------'
                //bat 'set'
            }
            post{
                always{
                    echo 'Hello======always post'
                }
                success{
                    echo 'Hello======success post'
                }
                failure{
                    echo 'Hello======failure post'
                }
            }
        }
        stage("downSVN"){
            steps{
                checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', 
                excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, 
                ignoreDirPropChanges: false, includedRegions: '', locations: [[cancelProcessOnExternalsFail: true, 
                credentialsId: '4f639e05-2925-49cc-99ab-5a9c836bf33e', depthOption: 'infinity', ignoreExternalsOption: true, 
                local: '.', remote: 'https://127.0.0.1/svn/TestJava/trunk/JunitTest/maven_custom']], 
                quietOperation: true, workspaceUpdater: [$class: 'UpdateWithRevertUpdater']])
            }
        }
        stage("buildProject"){
            steps{
                bat 'mvn clean test'
                //for /f "delims=" %a in ('svn info --show-item last-changed-revision') do set "var=%a"
            }
        }
        
        stage("svnInfo"){
            steps{
                bat 'svn info | find "Revision" >svninfo'
            }
        }
    }
    
    post {
        always {
            // One or more steps need to be included within each condition's block.
            echo '======always'
            post_email_parent()
        }
        cleanup {
            // One or more steps need to be included within each condition's block.
            echo '======cleanup'
        }
    }
}



def post_email(String stage, String status) {
  mail to: '12345678@qq.com',
  subject: "【${PROJECT_NAME}】${stage} ${status}",
  body: "build_id: ${env.BUILD_NUMBER}\nbranch: ${env.GIT_BRANCH}\nstage: ${stage}\nbuild_url: ${env.BUILD_URL}"
}



def post_email_parent() {
    emailext(
        mimeType: 'text/html',
        to: 'lusf@cares.sh.cn,yujf@cares.sh.cn,cc:mengqiang@cares.sh.cn,bcc:mq0036@163.com',
        subject: '【构建通知】$PROJECT_NAME - Build #$BUILD_NUMBER - $BUILD_STATUS!',
        body: '${DEFAULT_CONTENT}'
    )
}


def post_email_temp() {
    emailext(
        mimeType: 'text/html',
        to: 'lusf@cares.sh.cn,yujf@cares.sh.cn,cc:mengqiang@cares.sh.cn,bcc:mq0036@163.com',
        subject: '【构建通知】$PROJECT_NAME - Build #$BUILD_NUMBER - $BUILD_STATUS!',
        body: '${FILE,path="JenkinsScript/emailTemp.txt"}'
    )
}


def post_email() {
    emailext(
        mimeType: 'text/html',
        to: 'lusf@cares.sh.cn,yujf@cares.sh.cn,cc:mengqiang@cares.sh.cn,bcc:mq0036@163.com',
        subject: '【构建通知】$PROJECT_NAME - Build #$BUILD_NUMBER - $BUILD_STATUS!',
        body: '''<!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>
                <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>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
                    <li>工作目录: <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
                    <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
                    <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
                </ul>
                
                <div>
                    <h4><font color="#0B610B">测试结果</font></h4>
                    <hr size="2" width="100%" />
                    <div>
                        本次测试共执行<b>${TEST_COUNTS}</b>个用例,
                        成功<b style="color: green">${TEST_COUNTS,var="pass"}</b>个,
                        失败<b style="color: red">${TEST_COUNTS,var="fail"}</b>个,
                        跳过<b style="color: #FFEB3B">${TEST_COUNTS,var="skip"}</b>个。
                    </div>
                </div>
 
                <h4><font color="#0B610B">失败用例</font></h4>
                <hr size="2" width="100%" />
                <!--<pre style="font-weight: normal">${FAILED_TESTS,showMessage="false",showStack="false"}</pre>-->
                <pre>${FAILED_TESTS}</pre>
                
                <h4><font color="#0B610B">获取最近SVN源码库提交号(#${SVN_REVISION})[#${PROPFILE,file="svninfo",property="Revision"}]</font></h4>
                <hr size="2" width="100%" />
                <!--${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="Build No【#%n】:%c<br />", changesFormat="<div style='padding-left:20px'>%d [%a][%r] %m<br />%p</div>",pathFormat="<div style='padding-left:20px'>%p</div>"}-->
                <ul>${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="Build No【#%n】:%c<br />", changesFormat="<li>%d [%a][%r] %m</li>"}</ul>
                详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
 
            </td>
        </tr>
        <!--<tr>
            <td>
                <h4><font color="#0B610B">编译结果</font></h4>
                <hr size="2" width="100%" />${JELLY_SCRIPT,template="html"}
            </td>
        </tr>-->
    </table>
</body>
</html>'''
    )
}
View Code

 

posted on 2022-04-12 20:10  jack_Meng  阅读(730)  评论(0编辑  收藏  举报

导航