将JUnit报告发送给特定收件人

时间:2014-11-19 07:30:24

标签: java maven junit jenkins-plugins

我已经通过maven surefire插件配置了JUnit测试套件执行,该插件会在夜间基础上生成结果。每次执行后,都会向某个DL发送一封电子邮件,其中包含所有提交者。但是我只需要向那些测试失败的提交者发送邮件。让我们说A人写了TestA,B人写了TestB。如果TestA失败,我知道谁对此负责,我想自动向他发送通知,而不是发送给B,因为TestB没问题。

我看到了Jenkins Email-ext +插件。问题是它需要一个包含电子邮件地址的列表,在我的情况下每次都是不同的。如果我能够在每次执行后将电子邮件存储在文件中,我可以将其传递给这样的插件,它可以将邮件发送到文件中的地址。

你知道我怎么能做到这一点? :)也许我可以使用相同的插件并在模板中添加额外的东西?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用groovyPostbuild插件与Email-Ext插件结合使用。使用groovyPostbuild插件根据失败的单元测试动态生成电子邮件DL - 这样的事情将为您提供失败测试的类名:

manager.build.testResultAction?.failedTests?.className

根据这些信息,您可以使用它来与提交的文件列表进行比较(这取决于您使用的是哪个SCM引擎)。一旦你有了罪魁祸首,你就可以生成电子邮件列表并将其导出到变量。

然后,Email-Ext插件可以使用该变量发送给相应的收件人。

似乎这样非常有用。