Jenkins管道作为代码电子邮件ext

Jenkins管道作为代码电子邮件ext,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我正在使用email ext语法以代码的形式在管道中发送电子邮件,并使用HTML模板发送电子邮件 我需要访问HTML模板中的Jenkins环境变量。它适用于标准环境变量,如BUILD_URL。但它不适用于使用env.variable='VALUE'设置的环境变量。如果我试图在HTML模板中访问${VARIABLE},它将不起作用 任何想法请。要在模板中获取环境变量,您应该使用一些脚本来访问Jenkins API 在Jenkins中,我知道有两个最流行的选项:Groovy模板和Jelly模板 您可

我正在使用email ext语法以代码的形式在管道中发送电子邮件,并使用HTML模板发送电子邮件

我需要访问HTML模板中的Jenkins环境变量。它适用于标准环境变量,如BUILD_URL。但它不适用于使用
env.variable='VALUE'
设置的环境变量。如果我试图在HTML模板中访问
${VARIABLE}
,它将不起作用


任何想法请。

要在模板中获取环境变量,您应该使用一些脚本来访问Jenkins API

在Jenkins中,我知道有两个最流行的选项:Groovy模板和Jelly模板

您可以在EmailExt插件页面上找到更多信息

我这里也有同样的问题:,但我能够访问构建参数

以下是如何使用果冻的模板:

<?jelly escape-by-default='true'?>
<!DOCTYPE html [
    <!ENTITY nbsp "&#38;#38;nbsp&#59;">
]>
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define">
<head>
  <style>
      body table, td, th, p, h1, h2 {
      margin:0;
      font:normal normal 100% Georgia, Serif;
      background-color: #ffffff;
      }
  </style>
</head>
<body>
<j:set var="buildEnv" value="${build.getEnvironment(listener)}" />
<j:set var="myVar" value="${buildEnv.get('MY_BUILD_PARAMETER')}" />
  <table>
    <tr>
      <td>Variable</td>
      <td>
        <p>${myVar}</p>
      </td>
    </tr>
  </table>
</div>
</body>
</j:jelly>

车身表,td,th,p,h1,h2{
保证金:0;
字体:普通100%格鲁吉亚,衬线;
背景色:#ffffff;
}
变量
${myVar}

所以,您只需要添加一些jelly标记,并且为了在这个模板中获得构建参数值,您需要从构建对象调用getEnvironment方法

<j:set var="buildEnv" value="${build.getEnvironment(listener)}" />
<j:set var="myVar" value="${buildEnv.get('MY_BUILD_PARAMETER')}" />

下面詹金斯文件中的文本对我有用

env.CURRENT_BRANCH = master
env.PIPELINE_TYPE = mytype
Jelly\HTML文件中的以下行

使用以下变量,可以访问Jenkins中定义的所有环境变量

${customEnvVar.PIPELINE_TYPE}-${customEnvVar.CURRENT_BRANCH}

在此代码之前,需要定义customEnvVar


@sanjiv您能分享一下您是如何在管道/JenkinsFile…中起诉脚本(脚本令牌)的吗。。。?我不能这样做…您必须输入