Идея следующая:
Процесс состоящий из нескольких джоб, на некоторых этапах делаем оповещение в тред первого сообщения
Плагин оповещения
Пример
Groovy
Норм примеры pipeline
Главная джоба, запускает процесс и отправляет основное сообщение
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')}") }