| In parallel stages .. when each individual stages have post block . the failure block execution is not working as expected Sample pipeline script pipeline { {{ agent any}} {{ stages{}} {{ stage("initvar"){}} {{ steps{}} {{ script{}} {{ sh " echo initvars"}} {{ }}} {{ }}} {{ }}} {{ stage('Parallel Stage1'){}} {{ parallel {}} {{ stage("Stage1.1"){}} {{ steps{}} {{ script{}} {{ catchError(message: "stage1.1 failed ", stageResult: 'FAILURE'){}} {{ sh """}} {{ echo pass}} {{ """}} {{ }}} {{ }}} {{ }}} {{ post{}} {{ failure{}} {{ echo "from stage 1.1"}} {{ }}} {{ }}} {{ }}}stage("Stage1.2"){ {{ steps{}} {{ script{}} {{ catchError(message: "stage1.2 failed", stageResult: 'FAILURE'){}} {{ sh """}} {{ echo fail}} {{ exit 1}} {{ """}} {{ }}} {{ }}} {{ }}} {{ post{}} {{ failure{}} {{ echo "from stage 1.2"}} {{ }}} {{ }}} {{ }}} {{ }}} {{ }}} {{ stage("Parallel Stage 2"){}} {{ parallel{}} {{ stage("Stage2.1"){}} {{ steps{}} {{ script{}} {{ catchError( message: "stage1.2 failed", stageResult: 'FAILURE'){}} {{ sh """}} {{ echo "new pass"}} {{ """}} {{ }}} {{ }}} {{ }}} {{ post{}} {{ failure{}} {{ script{}} {{ echo "from stage 2.1"}} {{ }}} {{ }}} {{ }}} {{ }}} {{ stage("Stage 2.2"){}} {{ steps{}} {{ script{}} {{ catchError( message: "stage2.2 failed", stageResult: 'FAILURE'){}} {{ sh """}} {{ exit 1}} {{ """}} {{ }}} {{ }}} {{ }}} {{ post{}} {{ failure{}} {{ script{}} {{ echo "from stage 2.1"}} {{ }}} {{ }}} {{ }}} {{ }}} {{ }}} {{ }}} {{ }}} {{ post{}} {{ always{}} {{ sh "echo always" }} {{ }}} {{ success{}} {{ script{}} {{ sh "echo success"}} {{ }}} {{ }}} {{ failure{}} {{ script{}} {{ sh "echo failure"}} {{ }}} {{ }}} {{ }}} } {{Here post failure block of stage 1.1 and 2.1 should not have been executed }} Jenkins version 2.190.2 Pipeline groovy 2.78 Pipeline: Basic Steps : 2.18 |