Ответ 1
Интересный вопрос. Вы можете сделать это в декларативном конвейере Дженкинса, используя "измененную" часть столбца {}. Но вам нужно будет установить currentBuild.result для УСПЕХА или НЕИСПРАВНОСТИ в задании и проверить его в разделе сообщений. Кажется, что нет простого способа получить текущий статус сборки (сбой, успех и т.д.), Насколько это касается Дженкинса, не отслеживая его в вашем конвейере - если я не пропустил что-то тонкое. Вот пример, вы должны отправить уведомление в измененном разделе, где он проверяет значение SUCCESS:
pipeline {
agent any
parameters {
string(name: 'FAIL', defaultValue: 'false', description: 'Whether to fail')
}
stages {
stage('Test') {
steps {
script {
if(params.FAIL == 'true') {
echo "This build will fail"
currentBuild.result = 'FAILURE'
error("Build has failed")
}
else {
echo "This build is a success"
currentBuild.result = 'SUCCESS'
}
}
}
}
}
post {
always {
echo "Build completed. currentBuild.result = ${currentBuild.result}"
}
changed {
echo 'Build result changed'
script {
if(currentBuild.result == 'SUCCESS') {
echo 'Build has changed to SUCCESS status'
}
}
}
failure {
echo 'Build failed'
}
success {
echo 'Build was a success'
}
unstable {
echo 'Build has gone unstable'
}
}
}
- Билл