Jenkins:Generatin链接到HTML文件并通过电子邮件发送

问题描述:

我在运行自动化测试并生成结果报告的Linux服务器上有一个Jenkins作业。每次作业运行时,将在工作区中创建一个新目录,并将最新的HTML结果报告及其所需的所有资源放置在该目录中。最新的HTML测试结果文件的路径将是(从工作空间的根目录):.Expando_BLEG/Results/{新创建的目录} /Execution_Result.html。Jenkins:Generatin链接到HTML文件并通过电子邮件发送

我想每次运行Jenkins作业时都会发送一封电子邮件,其中包含最新测试结果HTML文件的链接。该链接将在电子邮件的正文中。在Email-Ext插件中使用Jelly脚本来做到这一点的方法是什么?每次作业运行时,Jelly脚本都必须生成不同的链接,因为最新的测试结果HTML文件每次都会位于不同的目录中。

现在我知道这不是你的问题的直接答案。但我确实认为这可以很好地解决您的问题。这个解决方案将比您提出的解决方案有两个额外的好处。

它唯一的先决条件是您或您的团队/项目中的某个人能够更改测试结果的输出目录。

要做到这一点,您需要将测试结果和其他资源的输出目录更改为静态文件夹。在每次测试运行开始时,您都要确保清理该文件夹。通过删除所有文件的shell命令或删除所有未受版本控制的文件的SVN/GIT clean。

然后,您可以使用HTML发布者插件https://wiki.jenkins.io/display/JENKINS/HTML+Publisher+Plugin。使用它将您的Jenkins作业中的测试结果发布为HTML,方法是将其指向您的静态位置。确保在发布选项中检查存档html页面。这将确保HTML将存储在该作业的特定版本中。如果您需要归档其他资源,则可以使用归档工件后构建步骤执行此操作。

现在所有结果和资源都缓存在特定的构建运行中,并且您需要做的就是在邮件扩展插件中使用$ BUILD_URL为运行添加链接。

正如我所说,这有两大好处。首先,您的所有测试资源都与特定的测试运行紧密相关。如果你将结果放在一个单独的位置,将它们连接到一个特定的运行将随着时间的推移变得越来越困难。

第二个好处是您的资源将遵循特定运行的生命周期。如果您需要一些物品留在那里,您的主工作区通常很难清理干净。这可能会导致您的工作空间随着时间的推移而增大。当您将所有资源归档到作业中时,将删除构建时清理所有资源。这可以在作业配置中轻松配置。