2013-03-07 55 views
1

我使用Jenkins和Email-Ext插件来自动执行PHP单元测试。如果测试失败,我想发送一封通知邮件给我,包括压缩测试报告。蚂蚁文件集中单个文件的绝对路径

Email-Ext插件需要附件字段中的Ant文件集定义。 压缩的测试报告可以在这里找到:

D:\Test_Reports\test-report-failed.zip 

我无法找到使用fileset绝对路径的单个文件的工作示例。

我尝试以下,但没有奏效:

<fileset file="D:\Test_Reports\test-report-failed.zip" />

能找到只使用绝对路径,但相对路径的任何实例。

这是约的附件栏电子邮件-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

然后引用他们相对于工作区,而不是绝对路径。 – niculare 2013-03-07 10:20:00

+0

工作区可以不同,位于另一个驱动器中。我必须以某种方式使用绝对路径。 – papaiatis 2013-03-07 10:22:14

回答

-2

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

+1

这对其他人没有帮助 – ldgorman 2014-07-29 13:38:21

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> 
+0

我相信我应该只指定包含语法。但我想在include语句中不可能使用绝对路径。 – papaiatis 2013-03-07 10:41:25

+0

我编辑了我的答案。您可以使用''任务获取绝对路径。 – pepuch 2013-03-07 10:47:44

0

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

+1

这不起作用。它说它需要Ant GLOB模式。 – papaiatis 2013-03-07 11:15:48