Jenkins管道用户输入 - 如果Abort然后动作

时间:2016-11-16 15:08:14

标签: jenkins groovy jenkins-pipeline

我们为Jenkins提供了Groovy脚本"验证" (配置)步骤:

...
def deploy_prod_verify() {

    stage 'Verify'
    input id: 'Deploy', message: 'Is Blue node fine? Proceed with Green node deployment?', ok: 'Deploy!'

}
...

我的问题是 - 一切正常(即 - 如果按"部署!" - 下一阶段开始)。

但是 - 我怎么能用Jenkins运行另一个函数,如果" Abort"被按下了?

现在 - 詹金斯将中止当前的工作。我想改为运行另一个功能("回滚")。

我找到了一些文档here,但无法看到与" Abort"相关的任何内容。动作。

我看到了#34; Abort"将执行Ajax调用:

<a href="#" onclick="new Ajax.Request('http://<JENKINS HOST>/job/EU-api-staging-build/72/input/Deploy/abort'); return false">Abort</a>

正如我所理解的那样 - 无论如何都无法处理这个Deploy/abort

2 个答案:

答案 0 :(得分:4)

按照@ MaTePe的回答,这是你如何做到的:

def deploy_prod_verify() {
    stage ('Verify'){
        try {
            input id: 'Deploy', message: 'Is Blue node fine? Proceed with Green node deployment?', ok: 'Deploy!'
            do whatever you need...
        } catch (error) {
            If an error is caught... do this...
        }
    }
}

答案 1 :(得分:1)