Ant文件集中单个文件的绝对路径

时间:2013-03-07 09:28:38

标签: ant jenkins absolute-path fileset email-ext

我正在使用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.

3 个答案:

答案 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