我想在我的声明性管道中实现以下通知:
(回归)→作业开始失败!
(失败)→作业仍然失败。
(已修复)→ 作业已恢复。
似乎post
's 的条件不能做到这一点。相反,当构建失败时,两者都会failure
触发regression
。有一个changed
条件,但我认为这个任务想要的是unchanged { failure }
,它不存在。
post {
regression {
slackSend message: 'Job has started to fail!'
}
failure {
slackSend message: 'Job is still failing.'
}
fixed {
slackSend message: 'Job has resumed.'
} // no need for 'success' as we don't want a notification while it's working
}
如果之前的作业成功,上述配置将发送以下通知:
(作业失败)
工作开始失败!
工作仍然失败。
(作业失败)
工作仍然失败。
(作业成功)
作业已恢复。
当作业第一次开始失败时,会有额外的“作业仍然失败”消息。有没有办法解决这个使用post
条件?
或者,我怎样才能以另一种方式实现这种行为?我已经通过了post { always { // decide which message is appropriate } }
,但还没有弄清楚如何识别先前构建的状态。