Jenkins管道作为代码电子邮件ext
我正在使用email ext语法以代码的形式在管道中发送电子邮件,并使用HTML模板发送电子邮件 我需要访问HTML模板中的Jenkins环境变量。它适用于标准环境变量,如BUILD_URL。但它不适用于使用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模板 您可
env.variable='VALUE'
设置的环境变量。如果我试图在HTML模板中访问${VARIABLE}
,它将不起作用
任何想法请。要在模板中获取环境变量,您应该使用一些脚本来访问Jenkins API 在Jenkins中,我知道有两个最流行的选项:Groovy模板和Jelly模板 您可以在EmailExt插件页面上找到更多信息 我这里也有同样的问题:,但我能够访问构建参数 以下是如何使用果冻的模板:
<?jelly escape-by-default='true'?>
<!DOCTYPE html [
<!ENTITY nbsp "&#38;nbsp;">
]>
<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