我只是想知道如何根据同一个Jenkins Job上的每个构建步骤结果发送带有Email-ext plugin的电子邮件。这是我的方案
我的Jenkins工作有3个构建步骤
构建第1步:
Pull latest code from github and Build the app - Gradle task which build the Jar
构建第2步:
Run all Tests against that Jar - Gradle Task which runs all Junit tests and provide Report files.
构建后行动:
If Build step1 fails -> Send email telling Build fails and Console Log with Exception detials
If Build success and Tests run -> Send email with Test Reports
我想我需要为Email-Ext插件编写预发送脚本。但我不知道如何编写这个脚本。请协助。
答案 0 :(得分:10)
在正常配置中,如果构建步骤1失败,则构建步骤2将不会执行。
如果构建步骤2(测试)失败,构建将被标记为"不稳定"而不是"失败"。
Email-ext 已经支持这些触发器。
您想为" 失败"配置触发器并触发" 不稳定" (你也可能需要触发" 成功")
在你的"失败"触发,在构建失败时写下您想要的电子邮件内容(构建步骤1失败将导致此问题) 在你的"不稳定"触发,在测试用例失败时写下您想要的电子邮件内容 在你的成功"触发,在一切成功并且您想发送测试报告时写下您想要的电子邮件内容。
<强>替代:强>
或者您可以查看Any Build Step插件(应该允许构建后的操作,例如email-ext,作为构建步骤执行)和 Conditional Build Step 插件(其中允许为每个构建步骤创建条件)。当您想要触发email-ext构建步骤时,将两者结合起来并创建条件。但是我没有试过这个,也不能保证这会有用。
答案 1 :(得分:0)
不要自定义电子邮件分机,而是考虑将工作分成两份工作:
对于这两个作业,将作业参数设置为(作业)/配置/高级项目选项
如果您还希望将测试结果附加到作业1以防其成功,请在作业1中添加后期构建步骤聚合下游测试结果。