由于build ENV可以在email-ext模板中访问,那么在email-ext模板中有没有访问管道全局变量的方法。
我们有10个并行的父流水线触发子流水线作业,我们需要自己格式化每个子作业的构建状态。目前,我们将所有数据格式化为一个全局映射,我们在父管道中拥有,希望在电子邮件扩展模板中使用该全局映射来格式化电子邮件输出。
一种方法是格式化文件中的所有数据,然后在电子邮件-ext模板处理之前使用脚本格式化文件,但这有点复杂。
所以我们想知道对于这样请求是否有其他好的选择,但在google上没有得到任何提示。
添加我们自己的构建ENV不是一个选项,因为我们需要格式化父管道中的数据。
谢谢你的任何提示。
发布于 2018-06-15 12:39:33
如果你在创建地图的主管道中调用emailext,那么为什么不像这样在电子邮件的主题部分传递地图的详细信息:
emailext (
subject: "STARTED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
body: """<p>STARTED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
<p>Build Status of job1:;'${MyMap.get(JOB1)}' </p> <br/>
<p>Build Status of job2:;'${MyMap.get(JOB2)}' </p> <br/>
.......
""",
recipientProviders: [[$class: 'DevelopersRecipientProvider']]
)也可以直接尝试MyMap.JOB1,您可能需要进行一些试验和错误才能使其正常工作。但正如您在示例中看到的,env.JOB_NAME实际上是一个包含键和值数据的映射。
希望它能有所帮助:)
https://stackoverflow.com/questions/50868292
复制相似问题