7877654 发表于 2017-8-24 08:44:04

jenkins-如何发送邮件

1、插件
Email Extension Plugin

2、系统配置

Jenkins-系统管理-系统配置
系统管理员邮件地址:admin@test.com


SMTP server: smtp.test.com
Default user E-mail suffix: @test.com
Default Content Type: HTML(text/html)
Default Recipients: user1,user2
Default Subject: 构建通知:${BUILD_STATUS} - ${PROJECT_NAME} - Build # ${BUILD_NUMBER} !
Default Content:
(示例邮件模版如下:)
------------------------------------------------
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="">
    <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
    <style type="text/css">
body table tr td {
    font-size: 11px;
    font-family: "Lucida Grande", Verdana, Arial, "Microsoft YaHei", Arial, Helvetica, Geneva, sans-serif;
}

.result {
    color: #4caf50;
    font-size: 20px;
}

.title {
    color: #ff9800;
    font-size: 15px;
}

    </style>
</head>
<body>
    <table>
      <tr>
            <td>(这是一封来自Jenkins服务的邮件,请勿直接回复,谢谢!)</td>
      </tr>
      <tr>
            <td>
                <br />
                <h2 class="result">构建结果 - ${BUILD_STATUS}</h2>
                <br />
            </td>
            
      </tr>
      <tr>
            <td>
                <br />
                <strong class="title">构建信息</strong>
                <hr size="2" width="100%" align="center" />
            </td>
      </tr>
      <tr>
            <td>
                <ul>
                  <li>项目名称:${PROJECT_NAME}</li>
                  <li>构建编号:第${BUILD_NUMBER}次构建</li>
                  <li>SVN版本:${SVN_REVISION}</li>
                  <li>触发原因:${CAUSE}</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>项目:<a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
                </ul>
            </td>
      </tr>
      <tr>
            <td>
                <br />
                <strong class="title">最近一次成功构建后的版本历史</strong>
                <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="%p"}
                <br />
                <ul>
                  <li>所有修改记录: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
                </ul>
            </td>
      </tr>
      <tr>
            <td>
                <br />
                <strong class="title">Failed Test Results</strong>
                <hr size="2" width="100%" align="center" />
            </td>
      </tr>
      <tr>
            <td>
                <pre>${FAILED_TESTS}</pre>
                <br />
            </td>
      </tr>
      <tr>
            <td>
                <br />
                <strong class="title">构建日志</strong>
                <hr size="2" width="100%" align="center" />
            </td>
      </tr>
      <tr>
            <td>
                <textarea cols="160" rows="40" readonly="readonly">${BUILD_LOG}</textarea>
            </td>
      </tr>
    </table>
</body>
</html>
------------------------------------------------


[邮件通知]
SMTP服务器: smtp.test.com

[通过发送测试邮件测试配置]勾选测试
Test e-mail recipient: test01@test.com

点击:Test configuration

结果:pass



3、项目配置
[构建后操作]
Project Recipient List: $DEFAULT_RECIPIENTS
Project Reply-To List: $DEFAULT_REPLYTO
Content Type: Default Content Type
Default Subject: $DEFAULT_SUBJECT
Default Content: $DEFAULT_CONTENT

Pre-send Script: $DEFAULT_PRESEND_SCRIPT
Post-send Script: $DEFAULT_POSTSEND_SCRIPT
Triggers: Send To
    Developers
    Recipient List

   
   
4、Q&A
1)如何传递参数给邮件内容中
将参数化构建过程中定义的参数名称,按照下述方式传递过来即可:
${ENV,var="your_parameterized_build_variable_name_here"}
   
   



ZYXW、参考
1、jenkins构建后邮件发送
http://blog.csdn.net/songjiaping/article/details/51496977
2、Passing variable from shell to email-ext in Jenkins
https://stackoverflow.com/questions/15436915/passing-variable-from-shell-to-email-ext-in-jenkins


页: [1]
查看完整版本: jenkins-如何发送邮件