首页 > 解决方案 > Jenkins 声明性管道发布失败或已修复

问题描述

Jenkins 声明式管道允许声明要执行的不同后期阶段。我有这样的事情:

post {
    fixed {
        emailext (
            ... code to send email
        )
    }
    failure {
        emailext (
            ... code to send email
        )
    }
}

我的真实代码更长而且完全重复。是否存在将这段代码组合在一起的东西?就像是

post {
    fixed || failure {
        emailext (
            ... code to send email
        )
    }
}

标签: jenkinsgroovyjenkins-groovyjenkins-declarative-pipeline

解决方案


一种方法是定义代码以在函数中发送电子邮件并从两个场景中调用该函数。

def SendEmail(){
   ... code to send email
}
post {
    fixed {
        emailext (
            SendEmail()
        )
    }
    failure {
        emailext (
            SendEmail()
        )
    }
}

如果你真的在寻找一个固定的 || 失败,我建议查看 when(){} 命令。 https://jenkins.io/blog/2018/04/09/whats-in-declarative/


推荐阅读