====== Оповещение в slack + pipeline ====== **Идея следующая:**\\ Процесс состоящий из нескольких джоб, на некоторых этапах делаем оповещение в тред первого сообщения\\ [[https://plugins.jenkins.io/slack|Плагин оповещения]]\\ [[https://naiveskill.com/jenkins-pipeline-slack-notification|Пример]]\\ [[https://groovy-lang.org/syntax.html|Groovy]]\\ [[https://vc.ru/newtechaudit/372976-delaem-jenkins-pipeline-shag-za-shagom|Норм примеры pipeline]]\\ {{:jenkins:slajen.jpg?direct&900|}} Главная джоба, запускает процесс и отправляет основное сообщение\\ pipeline { agent any stages { stage('Hello') { steps { echo 'Hello World' } } } } def StartMessage = slackSend(teamDomain: "dp-dom-brain", botUser: true, channel: "test_notify", tokenCredentialId: "slack_token", message: "--== Сообщение о начале сборки ==--") build( job: "test_notify_slack-pip-second", wait: false, parameters: [ string(name: 'Notify_Message_ID', value: StartMessage.threadId), ] ) Последующая, включен параметр "Notify_Message_ID", если передается значение тогда шлем сообщение, если нет то не шлем\\ pipeline { agent any stages { stage('Hello') { steps { echo 'Hello World' sleep(5) } } } } if (env.Notify_Message_ID) { slackSend(teamDomain: "dp-dom-brain", botUser: true, channel: env.Notify_Message_ID, tokenCredentialId: "slack_token", message: "Сообщение о завершении первого этапа\n"+ "Состояние: <${currentBuild.absoluteUrl}|${currentBuild.currentResult}>\n"+ "Продолжительность: ${currentBuild.durationString.minus(' and counting')}") }