10

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

我们有一个 jenkins 工作,在那里我们使用发布插件(带有标准配置)

发布插件配置

然后在工作中我们在左侧有“Perform Maven Release”来生成一个版本(标记、更改 pom 等)。这项工作非常完美。

左侧的释放按钮

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

我尝试了发布插件设置的环境变量(默认为 IS_M2RELEASEBUILD)并与 email-ext 插件插件结合使用,我可以在其中附加一个 groovy 脚本(高级=>触发器=>脚本触发器

使用电子邮件分机插件触发

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

def env = System.getenv()
env['IS_M2RELEASEBUILD'] == 'true'

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

有人在他的詹金斯中有这个设置吗?

非常感谢!

4

4 回答 4

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;
}

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

于 2013-07-03T07:37:08.903 回答
2

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

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

于 2013-05-22T06:57:33.853 回答
2

这不是答案,只是一个建议(我无法添加评论)。您是否尝试在构建后和构建前步骤中回显该环境变量?

于 2013-05-30T15:48:20.950 回答
1

您是否尝试过在发布构建成功完成时运行另一个构建并让该作业发送电子邮件,可能是通过运行 shell 脚本。

于 2013-05-30T22:41:22.237 回答