【问题标题】:How to configure a jenkins job to send mail if a SCM commit如果 SCM 提交,如何配置 jenkins 作业以发送邮件
【发布时间】:2014-09-15 19:23:29
【问题描述】:
我在配置需要执行以下任务的 jenkins 作业时遇到问题:
- 每 30 分钟安排一次 => 好的
- 进行更新(CVS、SVN、...)=> 好的
- 如果在 SCM 存储库中检测到更改,请发送电子邮件 => KO
所以我的工作配置如下:
- 源代码管理:cvs root / branch / ...
- 构建触发器:轮询 SCM:*/30 * * * *
- 构建:没有构建步骤
- 构建后操作:电子邮件通知
但我只在构建失败而不是在检测到更新时收到电子邮件。
有什么提示吗?
【问题讨论】:
标签:
jenkins
continuous-integration
build-process
build-automation
【解决方案1】:
简短回答:添加“始终”类型的电子邮件分机触发器(或“构建之前”或来自其他触发器,例如下面的列表)。
jenkins 电子邮件分机插件。
https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin
阅读触发器
'''默认情况下,唯一配置的触发器是“失败”触发器。要添加更多触发器,请从下拉列表中选择一个,它将被添加到列表中。'''
- 在作业配置 - 可编辑电子邮件通知 - 选择高级框。添加电子邮件触发器。例如触发器列表:
中止
总是
构建之前
失败 -> 不稳定(测试失败)
失败 - 任何
失败 - 首先
失败 - 第二
失败 - 仍然
固定的
未建
脚本 - 构建后
脚本 - 构建之前
状态已更改
成功
测试改进
测试回归
不稳定(测试失败) - 第一
不稳定(测试失败) - 仍然
不稳定(测试失败)
不稳定(测试失败)/失败 -> 成功
- 您还可以选择和配置接收电子邮件的人员。选择“Before Build”触发器并选择“Sent To”列表。发送到列表选项,例如
罪魁祸首
开发者
收件人名单
请求者
嫌疑人建造失败
嫌疑人测试失败
上游提交者
电子邮件列表是在通用 jenkins 配置中配置的。
这个回答涉及到这个问题的主题:Send email to commiters from Jenkins email-ext on every build
【解决方案2】:
你可以用一个小脚本试试:
- 您将检查 repo 中是否有任何新提交
- 如果出现变化,您有两种方法:
- 是从命令行运行发送电子邮件
- 在 jenkins 中创建一些通知作业,它只会发送邮件并使用“java -jar jenkins-cli.jar -s yourserver build NotificationJobName”运行它