Имеется Jenkins-job, из которой необходимо отправлять уведомления по завершению билда.
В Jenkins для этого имеется Slack Notification, который и применим.
Хороший пост по теме – тут>>>.
Устанавливаем его:
Настраиваем Slack – переходим на https://setevoy.slack.com/apps/new/A0F7VRFKN-jenkins-ci (меняем setevoy на ваш URL, само собой), и добавляем Jenkins:
И следуем инструкции:
Содержание
Настройка Slack Notification
Переходим в Jenkins > Global configuration, внизу настраиваем Slack Notification плагин:
Токен добавляем в Credentials:
Жмём Test connection:
Jenkins Pipeline
Тут всё ещё проще – добавляем вызов плагина:
slackSend color: 'good', message: 'Message from Jenkins Pipeline'
Запускаем билд:
А дальше играемся со цветами и текстом, хороший пример есть тут>>>:
def notifySlack(String buildStatus = 'STARTED') { // Build status of null means success. buildStatus = buildStatus ?: 'SUCCESS' def color if (buildStatus == 'STARTED') { color = '#D4DADF' } else if (buildStatus == 'SUCCESS') { color = '#BDFFC3' } else if (buildStatus == 'UNSTABLE') { color = '#FFFE89' } else { color = '#FF9FA1' } def msg = "${buildStatus}: `${env.JOB_NAME}` #${env.BUILD_NUMBER}:\n${env.BUILD_URL}" slackSend(color: color, message: msg) } node { try { notifySlack() sh 'runbuild' } catch (e) { currentBuild.result = 'FAILURE' throw e } finally { notifySlack(currentBuild.result) } }
Запускаем, билд фейлится на sh 'runbuild'
, получаем сообщения:
Готово.