前言
前面已經介紹過了在Jenkins持續集成python自動化測試項目並使用allure報告的內容。這篇我們來說一下,當構建失敗之后發送郵件通知相關的人員。
安裝發送郵件插件
由於Jenkins內置的郵件發送功能有點少。所以我們需要安裝一個郵件插件。
在可選插件中搜索,因為我已經安裝了,所以是已安裝選項的。
系統管理員郵箱配置
Extended E-mail Notification設置
我們進入Configure System
然后找到Extended E-mail Notification
這一項。
配置說明:
-
郵件通知的用戶要和系統管理員郵箱一樣
-
默認內容(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>工作目錄 : <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 變量一直獲取為空,有誰知道怎么弄告訴我一下。
測試郵件發送
我們打開郵箱看看:
成功收到郵件,說明我們的郵件配置沒有問題了。記得點擊保存返回。
項目中的配置
打開項目的設置界面。翻到最下面。點擊增加構建后操作步驟。
選擇 Editable Email Notification
詳細配置:
然后點擊應用並保存。
嘗試構建失敗
好了添加好了,我們來測試一下吧。
更改測試用例test_002為預期失敗的用例
assert not all(["selenium" in i for i in search.imagine])
然后進入到Jenkins中項目的主頁面。
點擊Build Now
開始構建!
構建完成后可以看到最后一次的構建失敗了。
然后我們打開郵箱看一下有沒有收到郵件!
成功收到了構建失敗的郵件!
查看一下控制台的日志輸出:
至此Jenkins構建失敗並發送郵件就已經完成了哦。
后記
本章你學會了
- Jenkins系統設置中的郵件配置
- Jenkins項目的設置中配置郵件發送
- 控制台日志中查看發送郵件情況