本文章出自【碼同學(xué)軟件測試】
01??? 郵件通知
郵件擴展插件安裝Email Extension Plugin,如果已經(jīng)安裝了則不需要再裝該插件可以提供更詳細的郵件發(fā)送設(shè)置
碼同學(xué)公眾號:自動化軟件測試
碼同學(xué)抖音號:小碼哥聊軟件測試
QQ郵箱準備公司里會用企業(yè)郵箱作為發(fā)件人,相關(guān)信息找郵箱管理員咨詢。本例中采用qq郵箱作為郵件管理員及發(fā)件人
1、開啟 QQ 郵箱 SMTP 服務(wù),打開 QQ 郵箱進入設(shè)置
2、進入帳戶
3、開啟SMTP服務(wù)
4、發(fā)送驗證碼到指定號碼
5、獲取授權(quán)碼,保存此授權(quán)碼到 txt 文件中,Jenkins 中配置郵箱需要用到此授權(quán)碼
6、點擊確定,SMTP服務(wù)已開啟
jenkins自帶郵件配置在這里可以先測試一下我們的郵箱配置是否正確,郵件能否發(fā)送成功進入系統(tǒng)管理-->系統(tǒng)配置,做如下配置先增加系統(tǒng)管理員郵件地址找郵件通知的區(qū)域,進行配置及測試
點擊測試后提示成功,并且郵箱會收到一封郵件,說明郵件發(fā)送沒有什么問題
配置擴展郵箱該配置將會作為我們jenkins任務(wù)執(zhí)行完成后的郵件模板進入系統(tǒng)管理-->系統(tǒng)配置,找到Extended E-mail Notification區(qū)域,做如下配置:
如果想看任務(wù)發(fā)送郵件時的詳細日志可以勾選下述選項,主要是郵件發(fā)送有問題時進行調(diào)試使用的
02?? 釘釘通知
安裝釘釘通知插件
登錄釘釘,配置釘釘機器人參考鏈接:https://developers.dingtalk.com/document/robots/custom-robot-access
jenkins里配置釘釘進入系統(tǒng)管理-->系統(tǒng)配置,找到釘釘區(qū)域,做如下配置
jenkins 任務(wù)配置釘釘機器人只支持自由風(fēng)格的任務(wù),不支持maven風(fēng)格的,所以我們先創(chuàng)建一個自由風(fēng)格的試一試
1、創(chuàng)建自由風(fēng)格的項目
2、保存后立即構(gòu)建可以看到釘釘群就收到了任務(wù)執(zhí)行的消息
03?? 微信通知
先檢查jdk配置如果jdk是openjdk的版本,那么一定要卸載,用oracle的jdk,否則可能會出錯
安裝微信通知插件
登錄企業(yè)微信,添加微信機器人1、群消息右鍵,點擊添加機器人
2、點擊添加一個機器人后,點擊新創(chuàng)建一個機器人
3、輸入機器人名稱,點擊添加
jenkins 任務(wù)配置微信通知進入任務(wù)配置界面,拉到最下面,添加企業(yè)微信通知
做如下設(shè)置:
執(zhí)行任務(wù),企業(yè)微信群收到通知
免費領(lǐng)取?碼同學(xué)軟件測試?課程筆記+超多學(xué)習(xí)資料+完整視頻+最新面試題,可以轉(zhuǎn)發(fā)文章?+?私信「碼同學(xué)666」獲取資料哦
04?? 郵件內(nèi)容模板
郵件模板
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>$PROJECT_NAME-第$BUILD_NUMBER次構(gòu)建日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"? offset="0">? ?
? ? <div>?
? ? <table width="95%" cellpadding="0" cellspacing="0"? ? style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
? ? <tr>? ? ? ? ?
? ? ? ? <th align="center" colspan="2"><br />
? ? ? ? ? ? <h2>構(gòu)建信息</h2>? ? ? ? ? ?
? ? ? ? </th>? ? ?
? ? </tr>? ? ?
? ? ? <tr>? ? ? ? ? ?
? ? ? ? <td>? ? ? ? ? ? ? ?
? ? ? ? ? ? <ul>? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? <li>項目名稱 :$PROJECT_NAME</li><br />? ? ? ? ? ? ?
? ? ? ? ? ? ? <li>代碼覆蓋率報告:<a href=${BUILD_URL}jacoco target='_blank'>${BUILD_URL}jacoco</a></li><br />?
? ? ? ? ? ? ? <li>sonar掃描報告:<a href=http://192.168.0.107:9000/dashboard?id=jacocoaa1${BUILD_NUMBER} target='_blank'>http://192.168.0.107:9000/dashboard?id=jacocoaa1${BUILD_NUMBER}</a></li><br />? ? ? ? ? ? ? ?
? ? ? ? ? ? ? <li>詳細測試日志 :<a href=${BUILD_URL}console target='_blank'>${BUILD_URL}console</a></li><br />?
? ? ? ? ? ? ? <li>觸發(fā)原因:${CAUSE}</li><br />? ? ? ?
? ? ? ? ? ? ? <li>項目Url :<a href=‘$BUILD_URL’ target='_blank'>$BUILD_URL</a></li><br />? ? ? ? ?
? ? ? ? ? </ul>? ? ? ? ? ?
? ? ? ? </td>? ? ? ? ?
? ? ? ? <td height="350px" style="overflow:hidden;display:block">${JELLY_SCRIPT,template="html"}<br/>
? ? ? </tr>? ?
? ? </table>? ?
? </div>
</body>
</html>
如何知道jenkins都有哪些內(nèi)置變量?(記得把ip換成你自己的)
地址:http://192.168.0.108:8080/env-vars.html/
05?? 釘釘和微信通知拓展
釘釘只能用在自由風(fēng)格的項目,而微信通知又不能自定義消息內(nèi)容,都不是很完美
那么我們可以自定義腳本的方式來擴展這部分,在任務(wù)構(gòu)建后去執(zhí)行某段腳本來達到我們的目的,構(gòu)建后執(zhí)行腳本需要如下插件

熟悉釘釘機器人消息接口https://developers.dingtalk.com/document/robots/custom-robot-access可以采用接口測試工具先調(diào)試接口,調(diào)試通了以后再編寫腳本
編輯post build里的腳本如下:
#訪問當前任務(wù)的結(jié)果api,并將結(jié)果存儲在result.json文件中curl -u admin:123456 ${BUILD_URL}api/json>result.json#使用awk對result.json做解析,得到任務(wù)執(zhí)行結(jié)果result=$(awk -F '"result":' '{print $2}' result.json|awk -F '[",]' '{print $1$2}')echo ${result}#使用awk對result.json做解析,得到任務(wù)執(zhí)行人user=$(awk -F '"userName":' '{print $2}' result.json|awk -F '[",]' '{print $1$2}')echo ${user}#使用curl調(diào)用釘釘?shù)膚ebhook地址,并將和任務(wù)有關(guān)的變量拼接在參數(shù)text參數(shù)中curl 'https://oapi.dingtalk.com/robot/send?access_token=b23d3a9cf410a4f7b4b05b1e5fe73ead7f589aa92572bd367cbb919d46904c6b' \? -H 'Content-Type: application/json' \? -d '{? ? ? ? "msgtype": "markdown",? ? ? ? "markdown": {? ? ? ? ? ? "title":"dingding",? ? ? ? ? ? "text": "#### '${JOB_NAME}'項目掃描任務(wù)? \n - 任務(wù):第'${BUILD_NUMBER}'次\n - 狀態(tài):'${result}' \n - 執(zhí)行人: '${user}' \n \n[查看控制臺]('${BUILD_URL}')"? ? ? },? ? ? "at": {? ? ? ? ? "atMobiles": [? ? ? ? ? ],? ? ? ? ? "atUserIds": [? ? ? ? ? ],? ? ? ? ? "isAtAll": false? ? ? } }'
最終收到的消息:

熟悉微信機器人的消息接口在企業(yè)微信機器人配置界面可以看到接口相關(guān)信息
可以采用接口測試工具先調(diào)試接口,調(diào)試通了以后再編寫腳本
編輯post build里的腳本如下:
#訪問當前任務(wù)的結(jié)果api,并將結(jié)果存儲在result.json文件中curl -u admin:123456 ${BUILD_URL}api/json>result.json#使用awk對result.json做解析,得到任務(wù)執(zhí)行結(jié)果result=$(awk -F '"result":' '{print $2}' result.json|awk -F '[",]' '{print $1$2}')echo ${result}#使用awk對result.json做解析,得到任務(wù)執(zhí)行人user=$(awk -F '"userName":' '{print $2}' result.json|awk -F '[",]' '{print $1$2}')echo ${user}#使用curl調(diào)用微信的webhook地址,并將和任務(wù)有關(guān)的變量拼接在參數(shù)content參數(shù)中curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=a2a30ae8-4c5f-4302-9820-dc8b92d2f510' \? -H 'Content-Type: application/json' \? -d '{? ? ? ? "msgtype": "markdown",? ? ? ? "markdown": {? ? ? ? ? ? "content": "#### '${JOB_NAME}'項目掃描任務(wù)1? \n - 任務(wù):第'${BUILD_NUMBER}'次\n - 狀態(tài):'${result}' \n - 執(zhí)行人: '${user}' \n <@沙陌> \n \n[查看控制臺]('${BUILD_URL}') "? ? ? }}'
最終收到的消息:

END
免費領(lǐng)取碼同學(xué)軟件測試課程筆記+超多學(xué)習(xí)資料+學(xué)習(xí)完整視頻,可以關(guān)注我們公眾號哦:自動化軟件測試
本文著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處。