1、插件下載
在配置Email之前我們需要下載兩個插件:
Email Extension
,Email Extension Template
,這兩個插件可以幫助我們進行郵件的編寫發送以及格式化
- 在
系統管理
->插件管理
中下載插件:
2、配置Email(Jenkins自帶)
2.1 基礎信息查詢
找到所要配置郵箱的基礎信息,這裏以QQ郵箱爲例
- 通過網頁端QQ郵箱的設置進入到郵箱客戶端設置頁面
- 找到郵箱的基礎信息
2.2 Jenkins郵件通知配置
- 在Jenkins:
系統管理->系統配置
中,最底部找到郵件通知
,打開高級
:
- 填入配置信息後如下:
- 注意到在配置的下方有個"通過發送測試郵件測試配置",我們可以講其勾選,填入郵箱地址,點擊
Test configuration
來先測試一下郵件的發送
2.3 踩坑時刻
- 如果按照上面的方式,點擊
Test configuration
會出現以下報錯:
javax.mail.AuthenticationFailedException: 535 Login Fail. Please enter your authorization code to login. More information in http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
這是因爲使用QQ郵箱登錄,需要填入的是QQ郵箱的授權碼,這是用於登錄第三方客戶端的專用密碼。具體的獲取方式可參考:https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28
- 修改完授權碼後,再次測試,很可能又會收到如下報錯:
java.net.SocketException: Connection closed by remote host
這是因爲我們還需要在設置Jenkins Location
中配置系統管理員郵件地址
,此地址要和郵件通知
中的用戶名
一致
2.4 結果驗收
做完了上述步驟後再次測試可以看到郵件發送成功
3、配置Email(Extended E-mail Notification)
記得文章一開頭提到的下載Extended插件,沒錯,Jenkins系統設置裏還可以通過
Extended E-mail Notification
對郵件發送進行模板格式的自定義
3.1 基礎信息配置
基礎信息配置與上述一致,唯一要注意的是這裏需要重新生成一個授權碼
3.2 模板格式配置
這裏主要就是配置展示的模板格式,常用的格式化的參數有:
- $BUILD_STATUS – 構建結果
- $PROJECT_NAME – 構建腳本名稱
- $BUILD_NUMBER – 構建腳本編號
- $JOB_DESCRIPTION – 構建項目描述
- $CAUSE – 腳本啓動原因
- $BUILD_URL – 腳本構建詳情URL地址
這裏選擇以HTML的格式展示,填入模板:
<hr/>(自動化構建郵件,無需回覆!)<br/><hr/>
項目名稱:$PROJECT_NAME<br/><br/>
項目描述:$JOB_DESCRIPTION<br/><br/>
運行編號:$BUILD_NUMBER<br/><br/>
運行結果:$BUILD_STATUS<br/><br/>
觸發原因:${CAUSE}<br/><br/>
構建日誌地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><br/>
構建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><br/>
詳情:${JELLY_SCRIPT,template="html"}<br/>
<hr/>
3.3 觸發條件配置
我們還可以在Default Triggers
中根據自己的需要配置郵件的觸發條件
這裏爲了防止因爲構建一直嘗試結果均爲失敗而造成的郵件轟炸,可以設置郵件僅第一次或第二次構建結果爲失敗時才發送郵件,後續失敗的郵件將不再發送
3.4 結果驗收
- 在構建的任務配置中,選擇"
Editable Email Notification
"
- 配置郵件發送至
Recipient List
中配置的郵件地址
- 保存後構建項目,查看結果,郵件發送成功