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