Jenkins構建失敗發送郵件


前言

前面已經介紹過了在Jenkins持續集成python自動化測試項目並使用allure報告的內容。這篇我們來說一下,當構建失敗之后發送郵件通知相關的人員。

安裝發送郵件插件

由於Jenkins內置的郵件發送功能有點少。所以我們需要安裝一個郵件插件。

Email Extension Plugin

在可選插件中搜索,因為我已經安裝了,所以是已安裝選項的。

QQ截圖20200623222038.png

系統管理員郵箱配置

QQ截圖20200623211605.png

Extended E-mail Notification設置

我們進入Configure System然后找到Extended E-mail Notification這一項。

QQ截圖20200623221237.png

QQ截圖20200623221427.png

QQ截圖20200623211904.png

配置說明:

  • 郵件通知的用戶要和系統管理員郵箱一樣

  • 默認內容(Default Content)說明:

由於Jenkins自帶的郵件內容,太簡單,所以我們優化一下。以下是我把網上的兩套模板進行了融合。

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">
    <div width="95%" cellpadding="0" cellspacing="0"
        style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
        <div>本郵件由系統自動發出,無需回復!
            <br />
            <br>各位同事,大家好,以下為${PROJECT_NAME }自動化測試項目構建信息
            <br />
            <div>
                <font color="#CC0000">構建結果 - ${BUILD_STATUS}</font>
            </div>
        </div>
        <div>
            <h4>
                <font color="#0B610B">構建信息</font>
            </h4>
            <hr size="2" width="100%" />
            <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>工作目錄&nbsp;:&nbsp;<a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
                </li>
                <li>構建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a>
                </li>
                <li>項目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a>
                </li>
            </ul>
        </div>
        <div>
            <h4>
                <font color="#0B610B">測試報告</font>
            </h4>
            <hr size="2" width="100%" />
            <b>點擊查看測試報告: <a href="${PROJECT_URL}ws/report/report.html">${PROJECT_URL}ws/report/report.html</a></b>
        </div>
        <!-- <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> -->
        <div>
            <h4>
                <font color="#0B610B">構建日志 (最后20行):</font>
                <hr size="2" width="100%" align="center" />
            </h4>
        </div>
        <div>
            <ul>
                <li>${BUILD_LOG, maxLines=22}</li>
            </ul>
        </div>
    </div>
</body>

</html>

獲取測試結果的 TEST_COUNTS 變量一直獲取為空,有誰知道怎么弄告訴我一下。

測試郵件發送

QQ截圖20200623211956.png

QQ截圖20200623212517.png

我們打開郵箱看看:

QQ截圖20200623212603.png

成功收到郵件,說明我們的郵件配置沒有問題了。記得點擊保存返回。

項目中的配置

打開項目的設置界面。翻到最下面。點擊增加構建后操作步驟。

QQ截圖20200623212950.png

選擇 Editable Email Notification

QQ截圖20200623215405.png

詳細配置:

QQ截圖20200623215311.png

QQ截圖20200623215624.png

QQ截圖20200623215804.png

QQ截圖20200623215832.png

然后點擊應用並保存。

嘗試構建失敗

好了添加好了,我們來測試一下吧。

更改測試用例test_002為預期失敗的用例

        assert not all(["selenium" in i for i in search.imagine])

然后進入到Jenkins中項目的主頁面。

點擊Build Now開始構建!

QQ截圖20200623220000.png

QQ截圖20200623220850.png

構建完成后可以看到最后一次的構建失敗了。

然后我們打開郵箱看一下有沒有收到郵件!

QQ截圖20200623220959.png

QQ截圖20200623221009.png

成功收到了構建失敗的郵件!

查看一下控制台的日志輸出:

QQ截圖20200623221751.png

至此Jenkins構建失敗並發送郵件就已經完成了哦。

后記

本章你學會了

  • Jenkins系統設置中的郵件配置
  • Jenkins項目的設置中配置郵件發送
  • 控制台日志中查看發送郵件情況


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM