1

我想在我的声明性管道中实现以下通知:

(回归)→作业开始失败!

(失败)→作业仍然失败。

(已修复)→ 作业已恢复。

似乎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 } },但还没有弄清楚如何识别先前构建的状态。

4

0 回答 0