如何指示 Jenkins 在用户定义的路径中查找电子邮件模板 (OTHER THAN $JENKINS_HOME/email-templates)

How to instruct Jenkins to look for email template in user defined path (OTHER THAN $JENKINS_HOME/email-templates)

我有 groovy 用于 Jenkins 的电子邮件模板(用于 Selenium Robot 框架测试执行)。 Jenkins master 由远程团队控制。因此,为了将此模板放在 $JENKINS_HOME/email-templates 中,我们需要提票并等待 2 到 3 天。我们还预计,模板中可能需要进行更改。所以我们计划将我们的模板放入我们的源代码存储库 (GIT)。所以在 Jenkins 测试工作中,我们将测试脚本与电子邮件模板一起检出。 如何指示 Jenkins 在工作区文件夹中查找模板而不是在 Jenkins Master

中查找 $JENKINS_HOME/email-templates

遗憾的是,您似乎需要修改 email-ext 插件,因为搜索路径已硬编码到其中。

你可以看到它here,检查文件src/main/java/hudson/plugins/emailext/EmailExtTemplateAction.java

中第69行的出现

将其更改为另一条路径是微不足道的,但是添加多个位置您可能需要做一些工作。

编辑: 我想知道是否可以将需要的内容作为构建步骤放入某个 txt 文件中,然后通过一些模板配置将其加载到邮件内容中.如果您有权访问作业配置,这可能值得检查。

您可以将模板复制到构建工作区(例如使用 SCM 步骤),然后 email-ext 可以访问它:

${SCRIPT, template="${WORKSPACE}/foo.template"}