首页 > 解决方案 > Jenkins:可编辑电子邮件通知的触发器类型说明

问题描述

在 Jenkins forEditable Email Notification中,创建触发器:

在此处输入图像描述

以下项目/选项:

在此处输入图像描述

问题

是否有官方文档解释选择框中显示的每个项目?- 当然,有些是显而易见的,有些则不是

吉拉

以防万一我创建:

标签: jenkinsjenkins-pluginsjenkins-email-ext

解决方案


我同意插件页面上缺乏整体描述并强制用户添加每个选项并单击(?)以找出其目的是糟糕的用户体验。然而,大多数情况似乎是不言自明的。JIRA 功能改进是一个合理的要求。

基本用户可以合理地忽略其中的大多数,但作为开发人员,如果您认为您有一个需要特殊通知的条件/状态转换,它可能已包含在列表中。条件在代码中列出,描述符位于各个帮助文件<condition>/help.html中。

条件类别是(不确定什么不明显):

  • 构建之前
  • [如果] 未建
  • 中止
  • 总是
  • [任何] 状态已更改
  • 失败; 各种标准 [1st, 2nd, Any, Still, X]
  • 失败 -> 不稳定(测试失败)
  • 不稳定(构建但有测试失败);各种标准 [1st, Any, Still, F->S]
  • 已修复(构建失败 -> 现在构建成功)
  • 成功
  • 运行脚本(构建前/构建后)(脚本评估成功,发送电子邮件)

根据我对标准的解释(未阅读下文),任何失败都是失败,无论先前的结果如何。第一次仅在第一次失败时,第二次仅在第二次失败时,“ X ”是在“X”次(或第n次)失败时。仍然是每次连续多次失败之后;所以不是第一次失败。成功将所有计数器重置为零。


我在这里(clone| grep| )提取了“帮助”解释(从 v.2.83 开始sed):

AbortedTrigger:如果构建状态为“Aborted”,将发送一封电子邮件。构建通过 UI 或 API 中止,但通常需要某种用户干预才能发生。中止的构建在其执行期间停止。

AlwaysTrigger:无论构建状态如何,始终在构建后触发电子邮件。

BuildingTrigger:每当构建从失败(编译或构建步骤失败)到不稳定(单元测试失败)时,都会发送一封电子邮件。这基本上意味着所有的构建步骤都成功了,但仍然有测试失败。

FailureTrigger:任何时候构建失败都会发送一封电子邮件。如果配置了“Failure - Still”触发器,并且之前的构建状态为“Failure”,则“Failure - Still”触发器将改为发送电子邮件。

FirstFailureTrigger:当构建状态从“成功”变为“失败”时,将发送一封电子邮件

FirstUnstableTrigger:当构建状态从任何变为“不稳定”时,将发送一封电子邮件。

FixedTrigger:当构建状态从“失败”或“不稳定”变为“成功”时,将发送一封电子邮件。

FixedUnhealthyTrigger:当构建状态从“失败”或“不稳定”变为“成功”时,将发送一封电子邮件。中间的“中止”构建被忽略。

ImprovementTrigger:只要有改进,就会发送一封电子邮件。只要测试失败的次数少于之前的版本,就认为该版本已改进。如果当前失败计数变为 0(不再有测试失败),此触发器将不会发送电子邮件。

NotBuiltTrigger:如果构建状态为“未构建”,将发送一封电子邮件。此状态代码用于多阶段构建(如 maven2),其中早期阶段的问题阻止了后期阶段的构建。

PreBuildScriptTrigger:构建发生。脚本的最后一行应解析为 true 以发送电子邮件,或 false 以不发送电子邮件。模型中添加了四个对象,脚本用于与构建进行交互。例子:

// the last line in the script should resolve to a boolean true or false 
// only send am email if the previous build failed 
// this could be used to notify people that a new build is happening
build.previousBuild.result.toString().equals('FAILURE')

PreBuildTrigger:在构建开始时发送一封电子邮件,但在 SCM 轮询完成之后。

RegressionTrigger:只要有回归,就会发送一封电子邮件。只要一个构建的失败次数多于之前的构建,或者有新的测试失败,它就会被认为是倒退。

ScriptTrigger:构建发生。脚本的最后一行应解析为 true 以发送电子邮件,或 false 以不发送电子邮件。模型中添加了四个对象,脚本用于与构建进行交互。例子:

// the last line in the script should resolve to a boolean true or false 
// only send am email if the build failed and 'mickeymouse' had a commit
build.result.toString().equals('FAILURE') && build.hasParticipant(User.get('mickeymouse'))

SecondFailureTrigger:构建成功后连续两次构建失败时会发送一封邮件。

StatusChangedTrigger:如果构建状态发生变化,将发送一封电子邮件。

StillFailingTrigger:如果连续两个或多个构建的构建状态为“失败”,则会发送一封电子邮件。

StillUnstableTrigger:如果连续两个或多个构建的构建状态为“不稳定”,则会发送一封电子邮件。如果测试失败,则构建不稳定,但所有构建步骤均已成功完成。

SuccessTrigger:如果构建状态为“成功”,将发送一封电子邮件。如果配置了“Fixed”触发器,并且之前的构建状态为“Failure”或“Unstable”,则“Fixed”触发器将改为发送电子邮件。

UnstableTrigger:只要构建不稳定,就会发送一封电子邮件。如果测试失败,则构建不稳定,但所有构建步骤均已成功完成。如果配置了“Unstable - Still”触发器,并且之前的构建状态为“Unstable”,则“Unstable - Still”触发器将改为发送电子邮件。

XNthFailureTrigger : 构建成功后连续 X 次构建失败时会发送一封电子邮件。


推荐阅读