4

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

4

3 回答 3

3

您可以使用<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>
于 2013-03-07T10:28:26.150 回答
0

只需在附件字段(不是 XML 元素)中指定文件的绝对路径。

于 2013-03-07T10:57:58.720 回答
-2

我通过将 Jenkins Job 的工作区更改为测试报告和其他资源所在的目录来解决它。然后我对 zip 文件使用相对寻址,例如:test-report-failed.zip

于 2013-03-07T12:26:13.747 回答