, как вы заметили , когда работает только внутри стадии . И только действительные step s могут быть использованы внутри post условий .
Вы все еще можете использовать скриптовый синтаксис внутри блока script , а блоки script являются действительными step . Таким образом, вы должны иметь возможность использовать if внутри блока script для получения желаемого поведения.
...
post {
failure {
script {
if (env.BRANCH_NAME == 'master') {
... # your code here
}
}
}
}
}
см. JENKINS-52689