在我的jenkinsfile
中,我定义了一个环境变量:
env.PACKAGES = htmlPackageList
我尝试使用${PACKAGES}
和${env.PACKAGES}
从模板访问它,但是两次我都只收到带有纯字符串的电子邮件。
template.html :
<pre style='line-height: 10px; color: green; font-size: 20px; white-space: pre; margin: 1em 0; display: block;'>$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS.<br/> </pre>
<br/>
Check console <a href="$BUILD_URL">Build URL</a> to view full results.<br/>
<br/>
<h4>Change list:</h4>
<div style="padding-left: 30px; padding-bottom: 15px;">
${CHANGES, showPaths=true, format="<div><b>%a</b>: %r %p </div><div style=\"padding-left:30px;\"> — “<em>%m</em>”</div>", pathFormat="</div><div style=\"padding-left:30px;\">%p"}
</div>
--<br/>
<h4>Published Packages:</h4>
${PACKAGES}
电子邮件通过以下方式调用:
success {
script{
emailext body: ('${FILE,path="Jenkins/Templates/template.html"}'),
to: "${env.EmailTo}",
subject: '[Jenkins] [$PROJECT_NAME] - [Build # $BUILD_NUMBER] - [$BUILD_STATUS]',
mimeType: 'text/html'
}
}
答案 0 :(得分:0)
下面的template(groovy)中的声明可以从管道中获取所有env变量
function getRoomClients(room) {
return new Promise((resolve, reject) => {
io.of('/').in(room).clients((error, clients) => {
resolve(clients);
});
});
}
...
const clients = await getRoomClients('hello-world');
console.log(clients);
下面的内容也可以用于仅获取管道中的覆盖变量
[ '9L47TWua75nkL_0qAAAA',
'tVDBzLjhPRNdgkZdAAAB',
'fHjm2kxKWjh0wUAKAAAC' ]