我被困在通过 jenkins 运行 perl 脚本的地步,我希望发送有条件的电子邮件通知。
例如 .. 如果在脚本结束时某个变量的值 > 1,则发送电子邮件通知,否则不发送
有人可以帮我吗?或者知道更好的方法来做到这一点?
我被困在通过 jenkins 运行 perl 脚本的地步,我希望发送有条件的电子邮件通知。
例如 .. 如果在脚本结束时某个变量的值 > 1,则发送电子邮件通知,否则不发送
有人可以帮我吗?或者知道更好的方法来做到这一点?
但是,我没有这些:
有一个Any Build Step插件。除其他外,它允许将构建后的操作作为构建步骤执行。理论上,这应该允许您在构建后执行“可编辑电子邮件通知”步骤作为构建步骤。这是此解决方案中最大的通配符。先试试这个。我不知道在 Jenkins 的工作“构建周期”完成之前,电子邮件通知是否会正常工作。
接下来,有条件构建步骤插件。它允许您根据各种条件执行构建步骤。
如果您能够使用“任何构建步骤”插件在构建周期的中间触发电子邮件,您应该能够使用“条件构建步骤”插件将其包装起来,以便有条件地执行。
让我知道这是否真的有效
这可以使用解决
Email-ext 插件 https://wiki.jenkins.io/display/JENKINS/Email-ext+plugin
您可以使用上面的链接查看有关插件的信息
我遇到了类似的情况,当詹金斯构建日志有一个字符串时,我需要发送一封电子邮件。这是我在 jenkins 作业的 presend 脚本中的处理方式。
logger.println(build.getLog(50))
if (build.getLog(50).contains("NoChangesPresent")) {
cancel = true;
}
我正在尝试获取最后 50 行构建日志并搜索它以查看是否存在字符串。如果它存在,那么我将取消设置为 true,这将停止触发来自詹金斯的电子邮件。
希望这可以帮助。
我喜欢siri的回答。有一个想法缺失。
logger.println(build.getLog(50)) if
(build.getLog(50).toString().contains("NoChangesPresent")) { cancel = true; }
如果不先将其转换为字符串, contains 似乎不会起作用。祝你好运!