Имеется 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', получаем сообщения:
Готово.















