11

我正在使用 Jenkins 中的可编辑电子邮件插件来附加电子邮件中的文件。问题是插件无法找到要附加的文件。

我的文件结构是这样的 -
ReportDirectory
工作区

ReportDirectory 包含我要附加的报告。我相信插件的基本目录是工作区。因此,我将附件位置指定为 ../ReportDirectory/DemoReport.html。我也试过 ReportDirectory/DemoReport.html

还有更多选择。难道我做错了什么?

4

5 回答 5

12

我想到了。

Editable Email 插件使用 Ant 文件语法来定位附件。当我查看 Ant 文件语法 ( http://ant.apache.org/manual/dirtasks.html ) 的文档时,它说

通常,模式被认为是相对路径,相对于依赖于任务的基本目录( dir 的情况下的属性)。仅考虑在该基本目录下找到的文件。因此,虽然像 ../foo.java 这样的模式是可能的,但在应用时它不会匹配任何内容,因为从不扫描基本目录的父级文件。

由于本例中的基本目录是“工作区”,而我的目录“ReportDirectory”不在其中,因此 Ant 无法访问它。

存在两种解决方案:

  1. 将“报告目录”移动到“工作区”中的某个位置。我不喜欢这个,因为我不想弄乱工作区。
  2. 在“ReportDirectory”中创建报告后,使用您的 Ant\MSBuild 脚本将其临时复制到“工作区”中,然后电子邮件插件应该能够通过 **/Report.html 之类的东西访问它。

@Amey - 感谢您的努力:)

于 2012-12-19T06:06:25.777 回答
2

另一种解决方案是$JENKINS_HOME/jobs/workspace/$workspace_name使用您的$workspace_name. 这种方式对我有用。

于 2015-07-15T15:35:42.550 回答
1
ReportDirectory/DemoReport.html

是正确的方法。

请记住,文件的路径和文件名区分大小写,因此我假设您输入了正确的名称。

另一件事是检查报告是否实际创建并位于您提到的路径中。

您可以尝试的另一件事

ReportDirectory/*
于 2012-12-18T05:18:36.480 回答
0

简单的答案:将您的文件复制到工作区(复制到您的工作目录),然后在附件下,只提供文件名,不带任何引号或任何内容。这将自动告诉詹金斯拿起你的文件。而已!请不要在看到所有配置后感到困惑。

于 2018-06-25T14:45:36.223 回答
0

Jenkins 将使用其工作区中可用的目录。

您可以发送多个附件,如下所示。

报告文件夹/html/index.html、screenShotsFolder/screenShots/*.jpg

于 2015-09-09T10:10:15.777 回答