01メール通知
電子メール拡張プラグイン電子メール拡張プラグインをインストールします。すでにインストールされている場合は、再度インストールする必要はありません。
このプラグインは、より詳細なメール送信設定を提供できます
QQメールボックスの準備
会社は送信者としてエンタープライズメールボックスを使用し、関連情報はメールボックス管理者によって参照されます。この例では、qqメールボックスがメール管理者および送信者として使用されます
1. QQメールボックスSMTPサービスを開き、QQメールボックスを開いて設定を入力します
2.アカウントを入力します
3.SMTPサービスを有効にします
4.指定された番号に確認コードを送信します
5.認証コードを取得し、認証コードをtxtファイルに保存します。この認証コードは、Jenkinsでメールボックスを構成するために必要です。
6. [OK]をクリックすると、SMTPサービスが有効になります
Jenkinsにはメール設定が付属しています
ここでは、最初にメールボックスの構成が正しいかどうか、およびメールを正常に送信できるかどうかをテストできます。
[システム管理]->[システム構成]に移動し、次の構成を行います
まず、システム管理者のメールアドレスを追加します
電子メール通知の領域を見つけ、構成およびテストします
テストをクリックすると、プロンプトが成功し、メールボックスに電子メールが送信されます。これは、電子メールの送信に問題がないことを示しています。
拡張メールボックスを構成する
この構成は、jenkinsタスクが実行された後にメールテンプレートとして使用されます
[システム管理]->[システム構成]に移動し、[拡張電子メール通知]領域を見つけます。
次の設定を行います。
タスクが電子メールを送信するときに詳細なログを表示する場合は、次のオプションを確認できます。これらのオプションは、主に電子メールの送信に問題がある場合のデバッグに使用されます。
02DingTalk通知
DingTalk通知プラグインをインストールします
DingTalkにログインし、DingTalkロボットを構成します
参照リンク:
https://developers.dingtalk.com/document/robots/custom-robot-access
jenkinsでDingdingを構成する
[システム管理]->[システム構成]に移動し、DingTalk領域を見つけて、次の構成を行います
jenkinsタスク構成
DingTalkはフリースタイルのタスクのみをサポートし、Mavenスタイルはサポートしないため、最初にフリースタイルのタスクを作成しましょう。
1.フリースタイルプロジェクトを作成する
2.保存後すぐにビルドします
DingTalkグループがタスク実行のメッセージを受信したことがわかります
03WeChat通知
最初にjdk構成を確認してください
jdkがopenjdkのバージョンである場合は、必ずそれをアンインストールしてoracleのjdkを使用してください。そうしないと、問題が発生する可能性があります。
WeChat通知プラグインをインストールします
Enterprise WeChatにログインし、WeChatロボットを追加します
1.グループメッセージを右クリックして、[ロボットの追加]をクリックします
2. [ロボットの追加]をクリックした後、[新規]をクリックしてロボットを作成します
3.ロボット名を入力し、[追加]をクリックします
Jenkinsタスク構成WeChat通知
タスク構成インターフェイスに入り、一番下までプルして、エンタープライズWeChat通知を追加します
次の設定を行います。
タスクを実行すると、エンタープライズWeChatグループに通知が届きます
04メールコンテンツテンプレート
メールテンプレート
<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>构建信息</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>触发原因:${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>
jenkinsに組み込まれている変数を知る方法は?(IPを自分のものに置き換えることを忘れないでください)
アドレス:http://192.168.0.108:8080 / env-vars.html /
05DingTalkおよびWeChat通知の拡張
DingTalkはフリースタイルのプロジェクトでのみ使用でき、WeChat通知はメッセージの内容をカスタマイズできないため、完全ではありません。
次に、スクリプトをカスタマイズしてこの部分を拡張し、タスクのビルド後に特定のスクリプトを実行して目的を達成します。ビルド後にスクリプトを実行するには、次のプラグインが必要です。
DingTalkロボットメッセージインターフェイスに精通している
https://developers.dingtalk.com/document/robots/custom-robot-access
インターフェイステストツールを使用して、最初にインターフェイスをデバッグし、デバッグに合格した後にスクリプトを作成できます。
ビルド後のスクリプトを次のように編集します。
#現在のタスクの結果APIにアクセスし、結果をresult.jsonファイルに保存します
curl -u admin:123456 $ {BUILD_URL} api / json> result.json
#awkを使用してresult.jsonを解析し、タスクの実行結果を取得します
result = $(awk -F'“ result”:''{print $ 2}' result.json | awk -F'["、]''{print $ 1 $ 2}')
エコー${結果}
#awkを使用してresult.jsonを解析し、タスクエグゼキューターを取得します
user = $(awk -F'“ userName”:''{print $ 2}' result.json | awk -F'["、]''{print $ 1 $ 2}')
エコー${ユーザー}
#curlを使用してDingdingのWebhookアドレスを呼び出し、パラメーターテキストパラメーターでタスク関連の変数をスプライシングします
curl'https://oapi.dingtalk.com/robot/send?access_token=b23d3a9cf410a4f7b4b05b1e5fe73ead7f589aa92572bd367cbb919d46904c6b' \
-H'コンテンツタイプ:application / json' \
-d'{
"msgtype": "markdown",
"markdown": {
"title":"dingding",
"text": "#### '${JOB_NAME}'项目扫描任务 \n - 任务:第'${BUILD_NUMBER}'次\n - 状态:'${result}' \n - 执行人: '${user}' \n \n[查看控制台]('${BUILD_URL}')"
},
"at": {
"atMobiles": [
],
"atUserIds": [
],
"isAtAll": false
}
} '
受信した最後のメッセージ:
WeChatボットのメッセージインターフェースに精通している
インターフェース関連の情報は、エンタープライズWeChatロボット構成インターフェースで確認できます。
インターフェイステストツールを使用して、最初にインターフェイスをデバッグし、デバッグに合格した後にスクリプトを作成できます。
ビルド後のスクリプトを次のように編集します。
#現在のタスクの結果APIにアクセスし、結果をresult.jsonファイルに保存します
curl -u admin:123456 $ {BUILD_URL} api / json> result.json
#awkを使用してresult.jsonを解析し、タスクの実行結果を取得します
result = $(awk -F'“ result”:''{print $ 2}' result.json | awk -F'["、]''{print $ 1 $ 2}')
エコー${結果}
#awkを使用してresult.jsonを解析し、タスクエグゼキューターを取得します
user = $(awk -F'“ userName”:''{print $ 2}' result.json | awk -F'["、]''{print $ 1 $ 2}')
エコー${ユーザー}
#curlを使用してWeChatのWebhookアドレスを呼び出し、パラメーターcontentパラメーターでタスク関連の変数をスプライシングします
curl'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=a2a30ae8-4c5f-4302-9820-dc8b92d2f510' \
-H'コンテンツタイプ:application / json' \
-d'{
"msgtype": "markdown",
"markdown": {
"content": "#### '${JOB_NAME}'项目扫描任务1 \n - 任务:第'${BUILD_NUMBER}'次\n - 状态:'${result}' \n - 执行人: '${user}' \n <@沙陌> \n \n[查看控制台]('${BUILD_URL}') "
}
} '
受信した最後のメッセージ: