Научитесь интегрировать уведомления электронной почты jenkins/WeChat/DingTalk

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 Шаблон содержимого электронной почты

шаблон электронной почты

$PROJECT_NAME-第$BUILD_NUMBER次构建日志
 <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}') "

  }

}'

Получено последнее сообщение:
вставьте сюда описание изображения

рекомендация

отblog.csdn.net/Testfan_zhou/article/details/123842390