Email 有分為一般的 Email 與可編式 Email
下面我們會先在 Jenkins 系統設定裡處理電子郵件基本的 SMTP 設定
然後設定擴充式電子郵件的全域設定
才會進到專案內設定擴充式電子郵件的細節
系統設定
點選「管理 Jenkins」,再進入「設定系統」

找到「電子郵件通知」如下圖設定 SMTP
注意下圖的設定只適用 17Life 內部伺服器,非 17Life 內部伺服器請自行找出正確的設定
- SMTP 伺服器: 詢問 MIS
- 勾選「使用 SMTP 驗證」
- 使用者名稱: 寄件者的帳號,可以先用自己的帳號測試
- 密碼: 就密碼
- SMTP 連接埠: 25
以上都設定完成後可以勾選「寄測試信,看看設定正不正確」,填入你的 email ,按下「測試設定」後,至收件夾收信

設定無誤的話應該可以收到如下圖的信件
如果設定沒錯但是收不到信的話,可以請 MIS 協助檢查 SMTP 伺服器的白名單有沒有加入這台 Jenkins

完成以上步驟的話,表示基礎的 Email 設定已經成功
擴充電子郵件設定
接下來開始設定擴充電子郵件
這個功能可以讓我們在 email 裡面使用環境變數等等功能自定內容
- SMTP 伺服器: 同電子郵件設定裡的值
- 預設內容類型: 預設是純文字,要改成 HTML ,因為我們會使用 HTML 來排版信件
- 預設收件人: 因為這台 Jenkins 只有本部門使用故直接在這邊修改預設收件人,若有多個部門使用可以在專案裡面設定

以上的全域設定完成後
接下來到專案本身的設定裡面
專案內設定
選擇「新增建置後動作」「可編式電子郵件通知」

在「可編式電子郵件通知」裡面我們主要設定的項目有兩處
首先是「預設內容」
目前的設定如下
項目名稱: $PROJECT_NAME<br/>
建置狀態: $BUILD_STATUS<br/>
建置編號: $BUILD_NUMBER<br/><hr/>
git Branch: ${GIT_BRANCH}<br/>
git版本號: ${GIT_REVISION}<br/>
git Log : ${CHANGES}<br/><hr/>
觸發原因: ${CAUSE}<br/><hr/>
建置位址: <a href="$BUILD_URL">$BUILD_URL</a><br/><hr/>
<table width="80%" border="0">
<tr>
<td align="center" colspan="3">自動測試報告彙整</td>
</tr>
<tr>
<td align="center"><a href="${BUILD_URL}testReport">測試報告</a></td>
<td align="center"><a href="${BUILD_URL}jacoco">測試覆蓋率</a></td>
<td align="center"><a href="${BUILD_URL}androidLintResult">Android Lint</a></td>
</tr>
</table>
<br/><hr/>
終端機輸出: <a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><hr/>
變更集: ${JELLY_SCRIPT,template="html"}<br/><hr/>
接下來設定觸發條件,預設只有失敗的時候寄給開發者
可點擊「Add Trigger」新增條件,如下圖我們設定觸發條件有
- Failure - Any (任何失敗)
- Developers (這個應該是指 git 的 commiter)
- Recipient List (收件人,我們預設為 Android Team)
- Unstable (Test Failures) (不穩定)
- Developers
- Recipient List
