当Jenkins有特定异常或错误时发送电子邮件

时间:2016-12-08 20:26:44

标签: jenkins jenkins-plugins

在Jenkins上,有时会出现错误,但我希望根据错误通知不同的人。

IE:当SSH命令执行异常时,我希望不发送电子邮件或发送到虚拟帐户,当生产检查失败时发送给我。 (这一切都发生在一项任务中)

有可能吗?如何?

提前致谢

1 个答案:

答案 0 :(得分:2)

使用Jenkins Email-ext插件。

它基于许多条件(包括日志内容)为收件人(和内容)提供了完全的灵活性,这些条件允许分析哪个命令失败并相应地更改收件人列表。

因为您没有提供有关您的任务的详细信息以及“SSH执行异常”或“生产检查”究竟是什么,所以很难非常具体,但您可以检查“生产”的日志检查失败“或任何其他所需文本,并根据此检查允许或禁止发送电子邮件。

  • 安装插件
  • 在“构建后操作”部分中选中标记为“可编辑电子邮件通知”的复选框。
  • 如果要对任何故障进行邮件配置,请保留“Failure - Any”触发器;否则,删除失败并从下拉列表中添加所需的触发器

有多种方法可以允许或取消电子邮件发送,完整说明位于插件页面上的文档中。最简单的方法是使用预发送脚本功能。从文档部分高级配置/预发送脚本:

  

您也可以通过将布尔变量“cancel”设置为true来取消发送电子邮件。

在预发送脚本中添加Groovy脚本以评估条件并将变量cancel设置为true或false以发送或阻止电子邮件。例如,基于构建日志中的“生产检查失败”行存在:

cancel = build.logFile.text.readLines().any { it =~ /.*production check has failed.*/ }