如何在Jenkins声明式流水线中使用emailext全局默认配置?
解决Jenkins Email Extension插件调用全局默认配置的问题
嘿,我之前也踩过这个坑!其实要用上你在全局配置里设置的默认主题和内容,只需要在emailext调用中使用插件内置的变量就可以了,不用自己重复写参数。
你之前直接调用emailext()报错,是因为插件不会自动默认填充全局配置的subject和body,需要你明确指定使用这些全局值。正确的做法是用$DEFAULT_SUBJECT和$DEFAULT_CONTENT这两个内置变量,它们会直接读取你在Jenkins全局配置(Configure System页面)里设置的对应值。
给你一个完整的示例:
post { always { emailext ( to: 'my@my.dom', replyTo: 'my@my.dom', subject: '$DEFAULT_SUBJECT', body: '$DEFAULT_CONTENT', mimeType: 'text/html' ); } }
如果你的全局配置里已经设置了默认收件人,那to和replyTo参数也可以省略,直接用全局配置的收件列表,简化成这样:
post { always { emailext ( subject: '$DEFAULT_SUBJECT', body: '$DEFAULT_CONTENT', mimeType: 'text/html' ); } }
需要注意的是,变量名是全大写加下划线的格式,别写错了。另外确保你的Email Extension插件版本是较新的,旧版本可能不支持这些内置变量。
内容的提问来源于stack exchange,提问作者David Koenig
相关产品推荐
相关产品推荐

