| i have two stages
pipeline {
agent {
node {
label "myNode"
}
}
stages {
stage("Stage 1") {
steps {
catchError(buildResult: 'UNSTABLE', catchInterruptions: false, message: 'stage failed', stageResult: 'FAILURE') {
bat 'exit 1'
}
}
post {
success {
println "stage 1 Message from post: ........success........."
}
unstable {
println "stage 1 Message from post: ........unstable........"
}
failure {
println "Stage 1 Message from post: ........failure........."
}
}
}
stage("Stage 2") {
steps {
catchError(buildResult: 'UNSTABLE', catchInterruptions: false, message: 'stage failed', stageResult: 'FAILURE') {
bat "exit 0"
}
}
post {
success {
println "stage 2 Message from post: ........success........."
}
unstable {
println "stage 2 Message from post: ........unstable........"
}
failure {
println "stage 2 Message from post: ........failure........."
}
}
}
}
}
As per the documentation, my output should be
Stage 1 Message from post: ........failure.........
stage 2 Message from post: ........success.........
But actually the output is
Stage 1 Message from post: ........failure.........
stage 2 Message from post: ........unstable........
After the analysis i found out that the post feature in stage block are working according to the buildResult rather than stage result. |