Попытка сделать SEND_SLACK_NOTIF, SLACK_CHANNEL и SLACK_MESSAGE переменными и установить их как глобальные переменные среды в файле Jenkins, но я не уверен, какой метод лучше в многоступенчатом конвейере , Не обращайте внимания на отступы!
Метод 1:
#!/usr/bin/groovy
node('large') {
withEnv(['SEND_SLACK_NOTIF=true',
'SLACK_CHANNEL=UT24K22K1',
"SLACK_MESSAGE=FAILURE: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'\nBetter fix it! (${env.BUILD_URL})"]){
stage('Test') {
if (env.SEND_SLACK_NOTIF) {
slackSend channel: env.SLACK_CHANNEL, color: 'danger', message: env.SLACK_MESSAGE, tokenCredentialId: 'slack-integration-token'
}
}
}
}
Метод 2:
#!/usr/bin/groovy
env.SEND_SLACK_NOTIF = true
env.SLACK_CHANNEL = 'UT24K22K1'
env.SLACK_MESSAGE = "FAILURE: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'\nBetter fix it! (${env.BUILD_URL})"
node('large') {
stage('Test') {
if (env.SEND_SLACK_NOTIF) {
slackSend channel: env.SLACK_CHANNEL, color: 'danger', message: env.SLACK_MESSAGE, tokenCredentialId: 'slack-integration-token'
}
}
}