当前位置: 首页 > 知识库问答 >
问题:

Jenkins-可编辑的电子邮件通知插件-整个构建失败

长孙哲
2023-03-14

Editable Email Notification插件-如果邮件服务器无法到达(端口25),或者由于某种原因,如果edit Email Notification post操作失败(对于我们在作业配置中设置的各种触发器),则整个构建失败。

现在,如果我有一个Build/Deploy作业成功完成(在做主要工作时),但在发送电子邮件部分失败(由于邮件服务器的问题),那么为什么它将整个作业标记为失败。

电子邮件触发器操作不应该将构建标记为失败(如果电子邮件触发器部分由于邮件服务器问题而失败),Jenkins应该将电子邮件排队(以便在邮件服务器恢复/启动/联机后在稍后的时间发送电子邮件,或者post操作不应该对作业的状态产生任何影响)。如果电子邮件触发器失败,只是Echo-Email发送操作失败,因为邮件服务器由于这个/那个(详细信息)出现了问题。

只是想看看是否有一个选项,我们可以在编辑电子邮件通知中设置,如果电子邮件通知步骤失败(即对这个插件的增强),不标记构建作业为失败,或者其他方法,我可以摆脱这种情况。

17:15:55 ERROR: Could not send email as a part of the post-build publishers.
17:15:55 javax.mail.MessagingException: Could not connect to SMTP host: my-mailhost.company.com, port: 25;
17:15:55   nested exception is:
17:15:55    java.net.ConnectException: Connection refused
17:15:55    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1934)
17:15:55    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
17:15:55    at javax.mail.Service.connect(Service.java:295)
17:15:55    at javax.mail.Service.connect(Service.java:176)
17:15:55    at javax.mail.Service.connect(Service.java:125)
17:15:55    at javax.mail.Transport.send0(Transport.java:194)
17:15:55    at javax.mail.Transport.send(Transport.java:124)
17:15:55    at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:306)
17:15:55    at hudson.plugins.emailext.ExtendedEmailPublisher._perform(ExtendedEmailPublisher.java:281)
17:15:55    at hudson.plugins.emailext.ExtendedEmailPublisher.perform(ExtendedEmailPublisher.java:233)
17:15:55    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
17:15:55    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:772)
17:15:55    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:736)
17:15:55    at hudson.model.Build$BuildExecution.cleanUp(Build.java:192)
17:15:55    at hudson.model.Run.execute(Run.java:1778)
17:15:55    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
17:15:55    at hudson.model.ResourceController.execute(ResourceController.java:88)
17:15:55    at hudson.model.Executor.run(Executor.java:234)
17:15:55 Caused by: java.net.ConnectException: Connection refused
17:15:55    at java.net.PlainSocketImpl.socketConnect(Native Method)
17:15:55    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
17:15:55    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
17:15:55    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
17:15:55    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
17:15:55    at java.net.Socket.connect(Socket.java:519)
17:15:55    at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:286)
17:15:55    at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:231)
17:15:55    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900)
17:15:55    ... 17 more
17:15:55 Finished: FAILURE

共有1个答案

龙德义
2023-03-14

虽然我重新检查了插件的配置,但没有找到摆脱电子邮件插件中您的位置的选项。

也许参数化触发器插件可以在其他方面节省你的时间,我知道。

  1. 创建两个作业:project-A(main)和project-b
  2. 在主project-A中的其他项目上配置触发器参数化生成,以便触发project-B运行。
  3. Project-B只发送电子邮件,如果主项目-A运行稳定。因此主项目-a的结果不会受到离线邮件服务器的影响。
  4. 电子邮件中所需的参数可以通过插件轻松传输。
 类似资料:
  • 问题内容: 我们已经配置了Jenkins-可编辑的电子邮件通知模板,以便在每次构建后发送自定义的电子邮件。 我们做了什么 : 在下一节中的脚本中,然后在下一节中,我们添加了默认的groovy脚本(例如:groovy-html.template-复制粘贴内容)。保存。 现在在项目工作下的 “构建后” 部分下,我们选择了相同的模板 但是,当我们收到电子邮件时,电子邮件就不会替换环境变量了。 ${bui

  • 问题内容: 我有一个Jenkins项目,其中包含3个简单的自由样式作业,每个作业都有自己的构建从属。每个作业都绑定到一个单独的平台:Linux,Mac或Windows。当开发人员提交他们的代码时,Jenkins在轮询回购后不久,在每个构建从属上构建项目,然后每个项目都向开发人员发送电子邮件,描述构建是成功还是失败。 问题: 每scm更改会单独发送三封电子邮件,这实际上是在向开发人员的收件箱发送垃圾

  • 我有一个Jenkins项目,由3个简单的自由风格的作业组成,每个作业都有自己的构建奴隶。每个作业都绑定到一个单独的平台上:linux、mac或windows。当一个开发人员提交他们的代码时,Jenkins在民意测验后不久,在每个构建奴隶上构建项目,每个项目都向开发人员发送一封电子邮件,描述构建是否失败或成功。问题:每次scm更改有三封单独的电子邮件真的会垃圾邮件发送到开发人员的收件箱,尤其是那些喜

  • 问题内容: 在使用控制台输出和测试结果作为电子邮件正文的从属作业完成后,我正在使用可编辑电子邮件通知来发送电子邮件。 我还需要在电子邮件中直接添加指向实际构建构建文件夹的链接,是否有一种简单的方法?也许某种令牌?我没有找到有关如何直接链接到构建文件夹以在电子邮件中显示其位置的任何线索。 问题答案: 首先,点击 Content Token Reference* 旁边的问号,这将告诉您所有需要的内容。

  • 我有使用jenkins的持续集成设置,还集成了用于夜间构建的selenium脚本。我也有可编辑的电子邮件通知,以便在任何构建失败的情况下发送电子邮件。 ${JELLY_SCRIPT,template=“text”} ${FAILED_TESTS} 此内容给我清晰的图片,如果有任何失败的selenium脚本与完整的StackTrace。 问题是,如果jenkins构建由于编译错误或任何其他失败原因而