如何仅在发布中发送Jenkins的电子邮件?

ERN*_*RON 9 release maven jenkins

我试图解决这个问题,搜索论坛等并为自己尝试,但没有成功.

我们有一个jenkins工作,我们使用Release Plugin(标准配置)

发布插件配置

在工作中,我们在左侧有"Perform Maven Release"来生成一个版本(标签,更换poms等).这项工作非常完美.

左侧的释放按钮

我们希望在发布完成后向团队发送电子邮件.

我尝试了发布插件设置的环境变量(默认为IS_M2RELEASEBUILD)并与email-ext插件插件结合,我可以附加一个groovy脚本(advanced => trigger => script trigger)

触发电子邮件ext插件

我尝试了很多脚本来激活电子邮件,但没有一个可行,我的最后机会是:

def env = System.getenv()
env['IS_M2RELEASEBUILD'] == 'true'
Run Code Online (Sandbox Code Playgroud)

但是当我执行发布时,我们没有发送电子邮件(所以这个脚本将条件评估为false或其他)

任何人都在他的詹金斯有这个设置?

非常感谢!

小智 6

您需要使用"可编辑的电子邮件通知"作为"构建后操作"并粘贴

def env = build.getEnvironment();
String isRelease = env['IS_M2RELEASEBUILD'];
logger.println "IS_M2RELEASEBUILD="+isRelease;
if ( isRelease == null || isRelease.equals('false')) {
  logger.println "cancel=true;";
  cancel=true;
}
Run Code Online (Sandbox Code Playgroud)

作为预发送脚本,在"项目收件人列表"中填写您的电子邮件并添加"成功"-Trigger.(前提条件是您没有更改"Maven发布版"中的默认"发布环境变量")


小智 2

https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin

该插件允许您配置电子邮件通知的各个方面。您可以自定义电子邮件的发送时间、接收者以及电子邮件的内容。