在使用Jenkins 2.0管道时,如何获得有关SCM/版本控制问题的通知?

在使用Jenkins 2.0管道时,如何获得有关SCM/版本控制问题的通知?,jenkins,jenkins-pipeline,jenkins-workflow,Jenkins,Jenkins Pipeline,Jenkins Workflow,非常好地描述了如何在管道DSL中设置失败作业的通知 不幸的是,这种方法有一个严重的缺点:如果由于Jenkins无法签出Jenkins文件而无法访问SCM,则根本没有电子邮件通知。是否有人知道解决方案或解决方法,以便在签出Jenkins文件时,如果管道作业因SCM问题而失败,或者在Jenkins文件中出现语法错误,我会收到通知?如果安装了插件,可以从管道脚本调用它 您可以使用管道插件附带的代码段生成器,$JENKINS_URL/pipeline语法提供。 选择插件并像在后期构建步骤中那样对其进行配

非常好地描述了如何在管道DSL中设置失败作业的通知

不幸的是,这种方法有一个严重的缺点:如果由于Jenkins无法签出Jenkins文件而无法访问SCM,则根本没有电子邮件通知。是否有人知道解决方案或解决方法,以便在签出Jenkins文件时,如果管道作业因SCM问题而失败,或者在Jenkins文件中出现语法错误,我会收到通知?

如果安装了插件,可以从管道脚本调用它

您可以使用管道插件附带的代码段生成器,$JENKINS_URL/pipeline语法提供。 选择插件并像在后期构建步骤中那样对其进行配置

将生成的代码段放入管道中。您可能想用try{..}finally{..}来包装它

这个管道语法的特点是,它将动态添加您安装的插件,因此如果您使用不同的通知插件,它应该显示在这里

你也可以看看他们在哪里给出了一些例子


谢谢,但问题是当无法访问SCM或文件中存在语法错误时,如何获得通知。此解决方案在这里没有帮助,因为如果SCM不可用,Jenkins将无法签出您发布的通知代码,因此根本不会执行任何通知。在第二种情况下,Jenkins文件中出现语法错误也没有帮助,因为Groovy代码在这种情况下是不可执行的。我当时误解了这个问题。不幸的是,我不知道。您可以创建另一个只发送电子邮件的作业。将其配置为始终在其他作业之后运行,即使该作业失败。不知道,但您可以从上游获取日志并将其包含在邮件中
emailext attachLog: true, 
    body: 'Oops', 
    recipientProviders: [[ $class: 'DevelopersRecipientProvider']], 
    subject: 'Failing tests', to: 'someone@example.com'