在 Jenkins 上下载电子邮件附件

Download of an email attatchment on Jenkins

我一直在测试 Jenkins“Poll Mail Trigger”插件以通过电子邮件触发项目。要开发项目,我需要下载发送的附件。

在项目设置中,我启用了唯一存在的下载选项:"下载到带时间戳的目录".

此外,有关下载的唯一信息是:附件 字段允许您确定如何处理电子邮件附件。如果附件是下载后,pmt_attachmentsDirectory变量设置为下载目录。

然后,在没有为附件的下载配置任何目录的情况下进行了几次测试-假设下载应该是自动的-,我继续更改 Jenkins 配置中的环境变量,我将以下内容放入:

所以,我要做的是将文件保存到我的驱动器 D:\

文件从未下载到指定的磁盘,只是为了验证,我正在尝试使用以下 Windows 命令移动文件:

move "% pmt_attachmentsDirectory%" "D: \ Users \ wrodriguez \ Downloads \ Test_Programs"

最后它抛出以下输出:“系统找不到指定的文件。”

所以,我真的迷路了,有人可以帮我解决这个问题吗? Jenkins 上是否有其他插件可用于下载附件?

感谢您的帮助。

我已经 5 年没有开发过那个插件(或 Jenkins)了,所以请原谅我的生疏。

Looking at the code,插件会创建一个带时间戳的文件夹,并将所有附件保存在那里。

然后它会在 Jenkins 作业实例的环境变量中注入一个名为 pmt_attachmentsDirectory 的环境变量 - 该值是文件夹的绝对路径(不可配置)。

疑难解答:

  • 你在插件选项中 enabled saving Attachments 了吗?
  • 检查作业实例的环境变量 - 是否列出了 pmt_attachmentsDirectory
    • 打印 pmt_attachmentsDirectory 的值 - 例如echo "%pmt_attachmentsDirectory%" - 它说什么?
    • 目录是否存在?
    • 该目录是否包含任何文件?
  • “查看轮询日志”是否有任何错误?
  • Jenkins 日志有错误吗?

其他说明:

  • "% pmt_attachmentsDirectory%" - 不应该有 space 例如应该是 "%pmt_attachmentsDirectory%"