电子邮件扩展插件未加载 groovy 通过配置文件提供程序插件添加的模板

Email Extension Plugin is not loading groovy template added via Config File Provider Plugin

我目前正致力于从使用声明式设计的 jenkins 构建管道发送自定义电子邮件通知 syntax.I 我的 jenkins 服务器上安装了 Config File Provider Plugin 3.8.0, Email Extension Plugin 2.82 & Email Extension Template Plugin 1.2

我还完成了电子邮件扩展插件工作所需的全局系统配置(smtp 信用、默认值等)。

然后我创建了一个简单的 groovy 模板脚本,并使用名为 my-email-template 的 Config File Provider 插件将其添加为 Jenkins 上的托管文件。添加文件时,我将文件类型选择为 Extended Email Publisher Groovy Template.

然后我在我的 Jenkinsfile 中添加了以下步骤,

steps {
  emailext body: '''${SCRIPT, template="managed:my-email-template"}''',
  mimeType: 'text/html',
  subject: "[Jenkins] ${currentBuild.fullDisplayName}",
  to: "abc@gmail.com"    
}

通过以上配置我收到了一封正文为;

的邮件

Groovy Template file [managed:my-email-template] was not found in $JENKINS_HOME/email-templates.

根据官方 Email Extension Plugin documentation,我使用了 managed: 前缀作为我的模板文件引用,所以我希望它指的是配置的托管文件,但它仍在搜索jenkins home下的文件。

有人可以帮我解决这个问题吗?

默认情况下,电子邮件扩展插件在 ${JENKINS_HOME}/email-templates/ 目录中查找。 如果您有一个名为“my-email-template”的脚本并且没有使用 Config File Provider Plugin ,那么您可以将脚本放在 ${JENKINS_HOME}/email-templates/ 目录并按以下方式使用它:

stage("Send Email")
   {
     steps {
                emailext body: '''${SCRIPT, template="my-email-template"}''', subject: 
                'Email subject  ', to: 'abc@gmail.com'
          }
   }

如果电子邮件扩展插件无法找到模板文件,那么无论您是否使用托管插件,它都会给出如下错误:

Groovy Template file [my-email-template.template] was not found in $JENKINS_HOME/email-templates.

使用配置文件提供程序插件并管理:前缀:

第 1 步:必须管理 Jenkins -> 托管文件
第 2 步:单击 -> 添加新配置
第 3 步:Select 键入 as Extended Email Publisher Groovy Template 然后点击提交
第 4 步:根据您的选择提供文件名称并添加模板文件的内容。确保复制此名称,因为它将在管道中使用。点击提交。

第 5 步:在管道中添加代码。确保输入正确的名称 "managed:Groovy Email Template"

stage("Send Email")
   {
     steps {
                emailext body: '''${SCRIPT, template="managed:Groovy Email Template"}''', subject: 
                'Email subject  ', to: 'abc@gmail.com'
          }
   }

上面应该运行,你可以在下面的路径看到模板文件的内容:
${JENKINS_HOME}/org.jenkinsci.plugins.configfiles.GlobalConfigFiles.xml
:
如果以上方法不行请重启jenkins/重新安装plugin email extension plugin,按照vsbehere做的方法是正确的