01 Уведомление по электронной почте
Плагин расширения электронной почты Установите плагин расширения электронной почты, если он уже установлен, вам не нужно устанавливать его снова
Этот плагин может предоставить более подробные настройки отправки электронной почты.
Подготовка почтового ящика QQ
Компания будет использовать корпоративный почтовый ящик в качестве отправителя, и соответствующая информация будет предоставлена администратору почтового ящика. В этом примере почтовый ящик qq используется в качестве почтового администратора и отправителя.
1. Откройте службу SMTP почтового ящика QQ, откройте почтовый ящик QQ и введите настройки.
2. Войдите в аккаунт
3. Включите службу SMTP.
4. Отправьте код подтверждения на указанный номер
5. Получите код авторизации и сохраните код авторизации в txt файл.Этот код авторизации необходим для настройки почтового ящика в Jenkins
6. Нажмите OK, служба SMTP включена.
Дженкинс поставляется с конфигурацией почты
Здесь мы можем сначала проверить, правильна ли конфигурация нашего почтового ящика и может ли почта быть успешно отправлена.
Перейдите в «Управление системой» -> «Конфигурация системы» и выполните следующую настройку.
Сначала добавьте адрес электронной почты системного администратора.
Найдите область для уведомлений по электронной почте, настройте и протестируйте
После нажатия кнопки «Проверка» запрос считается успешным, и почтовый ящик получит электронное письмо, указывающее, что нет проблем с отправкой электронного письма.
Настройка дополнительных почтовых ящиков
Эта конфигурация будет использоваться в качестве шаблона электронной почты после выполнения нашей задачи jenkins.
Перейдите в Управление системой -> Конфигурация системы, найдите область расширенных уведомлений по электронной почте,
Выполните следующую настройку:
Если вы хотите увидеть подробный журнал, когда задача отправляет электронные письма, вы можете выбрать следующие параметры, которые в основном используются для отладки, когда возникает проблема с отправкой электронных писем.
02 Уведомление DingTalk
Установите плагин уведомлений DingTalk
Войдите в DingTalk и настройте робота DingTalk.
Ссылка на ссылку:
https://developers.dingtalk.com/document/robots/пользовательский-робот-доступ
Настроить Dingding в jenkins
Перейдите в «Управление системой» -> «Конфигурация системы», найдите область DingTalk и выполните следующую настройку.
настройка задачи дженкинса
DingTalk поддерживает только задачи в свободном стиле, а не в стиле maven, поэтому давайте сначала создадим задачу в свободном стиле.
1. Создавайте проекты для фристайла
2. Сборка сразу после сохранения
Вы видите, что группа DingTalk получила сообщение о выполнении задачи
03 Уведомление WeChat
Сначала проверьте конфигурацию jdk
Если jdk — это версия openjdk, то обязательно удалите его и используйте jdk оракула, иначе это может пойти не так.
Установите плагин уведомлений WeChat
Войдите в корпоративный WeChat и добавьте робота WeChat.
1. Щелкните правой кнопкой мыши групповое сообщение и выберите Добавить робота.
2. После нажатия «Добавить робота» нажмите «Создать», чтобы создать робота.
3. Введите имя робота и нажмите «Добавить».
Уведомление WeChat о конфигурации задачи Jenkins
Войдите в интерфейс настройки задач, потяните вниз и добавьте корпоративные уведомления 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/
05 Расширение уведомлений DingTalk и WeChat
DingTalk можно использовать только в проектах свободного стиля, а уведомления WeChat не могут настраивать содержимое сообщений, поэтому они не идеальны.
Затем мы можем расширить эту часть, настроив скрипт, и выполнить определенный скрипт после того, как задача будет построена для достижения нашей цели.Для выполнения скрипта после сборки необходимы следующие плагины.
Знаком с интерфейсом сообщений роботов DingTalk
https://developers.dingtalk.com/document/robots/пользовательский-робот-доступ
Вы можете использовать инструмент тестирования интерфейса, чтобы сначала отладить интерфейс, а затем написать сценарий после прохождения отладки.
Отредактируйте скрипт в пост-сборке следующим образом:
# Доступ к результату API текущей задачи и сохранение результата в файле result.json
curl -u admin:123456 ${BUILD_URL}api/json>result.json
#Используйте awk для парсинга result.json и получения результата выполнения задачи
результат=$(awk -F '"результат":' '{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 и объединения переменных, связанных с задачей, в текстовом параметре параметра
curl 'https://oapi.dingtalk.com/robot/send?access_token=b23d3a9cf410a4f7b4b05b1e5fe73ead7f589aa92572bd367cbb919d46904c6b' \
-H 'Тип содержимого: приложение/json' \
-д '{
"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 и получения результата выполнения задачи
результат=$(awk -F '"результат":' '{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 и объединения переменных, связанных с задачей, в параметре content параметра
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=a2a30ae8-4c5f-4302-9820-dc8b92d2f510' \
-H 'Тип содержимого: приложение/json' \
-д '{
"msgtype": "markdown",
"markdown": {
"content": "#### '${JOB_NAME}'项目扫描任务1 \n - 任务:第'${BUILD_NUMBER}'次\n - 状态:'${result}' \n - 执行人: '${user}' \n <@沙陌> \n \n[查看控制台]('${BUILD_URL}') "
}
}'
Получено последнее сообщение: