我正在使用Jenkins和Email-Ext插件来自动化PHP单元测试。如果测试失败,我想向自己发送一封通知电子邮件,包括压缩测试报告。
Email-Ext插件需要在附件字段中定义Ant文件集。 压缩测试报告可在此处找到:
D:\Test_Reports\test-report-failed.zip
我找不到使用fileset
和单个文件的绝对路径的工作示例。
我尝试了以下但没有奏效:
<fileset file="D:\Test_Reports\test-report-failed.zip" />
可以找到使用绝对路径但仅使用相对路径的任何示例。
这是关于附件字段的Email-ext插件的官方帮助:
This is the set of attachments that will be used for the email. The format is a comma separated list of Ant include file syntax. The base directory is the workspace.
答案 0 :(得分:1)
您可以使用<include/>
标记执行此操作。它看起来像这样。
<fileset dir="D:\Test_Reports">
<include name="test-report-failed.zip" />
</fileset>
如果你想在属性中获取文件路径,那么你可以这样做(我已经测试了它并且它可以工作):
<path id="absolute.path.id">
<fileset dir="D:\Test_Reports">
<include name="test-report-failed.zip" />
</fileset>
</path>
<property name="absolute.path" value="${toString:absolute.path.id}" />
<echo>file absolute path: ${absolute.path}</echo>
答案 1 :(得分:0)
只需在附件字段中指定文件的绝对路径(而不是XML元素)。
答案 2 :(得分:-1)
我通过将Jenkins Job的工作区更改为测试报告和其他资源所在的目录来解决它。然后我使用相对寻址到zip文件,如:test-report-failed.zip