如何在 jenkins groovy 电子邮件模板中添加 groovy 变量

问题描述 投票:0回答:0

我在我的 jenkins 管道中使用自定义变量,我试图通过修改 groovy-html.template 将它添加到电子邮件中。但是我的电子邮件出现错误。

            steps {
            script {
                MD5SUM=sh(script: 'cat /tmp/DFS_MDSUM.txt', returnStdout: true)
                echo MD5SUM
                def mailRecipients = 'sai****@****.com'
                def jobName = currentBuild.fullDisplayName
                emailext body: '''${SCRIPT, template="groovy-html-test.template"}''',
                mimeType: 'text/html',
                subject: "[Jenkins] ${jobName}",
                to: "${mailRecipients}",
                replyTo: "${mailRecipients}",
                recipientProviders: [[$class: 'CulpritsRecipientProvider']]
             }
        }

下面是我在groovy-html.template中做的修改

    <tr>
  <td>Duration:</td>
  <td>${build.durationString}</td>
</tr>
<tr>
  <td>Causeabcdef:</td>
  <td><% build.causes.each() { cause -> %> ${hudson.Util.xmlEscape(cause.shortDescription)} <%  } %></td>
</tr>
<tr>
  **<td>MD5SUM:</td>
  <td>MD5SUM of the binary is ${MD5SUM}</td>**
</tr>

在添加 MD5SUM 之前,电子邮件的生成没有任何问题。添加后,Jenkins 工作成功完成,但我在电子邮件中收到渲染错误。

Email without error Email renderring error

jenkins groovy jenkins-pipeline jenkins-groovy jenkins-job-dsl
© www.soinside.com 2019 - 2024. All rights reserved.