2012-08-09 216 views
14

我想在任何工作完成时发送电子邮件通知。 请让我知道我们如何传播。从Jenkins发送电子邮件通知

+1

相关:[哈德森和电子邮件通知(http://stackoverflow.com/questions/5433917/hudson-and-e-mail-notification) – 2012-08-09 20:31:40

+0

您也可以考虑使用其中一个[Jenkins监控工具](https://wiki.jenkins-ci.org/display/JENKINS/Monitoring+Jenkins)将直接通知您。 – alex 2016-06-15 07:51:15

回答

8

您可以配置Jenkins在作业完成时通过使用插件或不使用插件发送电子邮件。

内置

首先,你必须通过点击Manage Jenkins > Configure System配置您的邮件服务器设置,找到附近的页面底部的E-mail Notification部分。也可以在Jenkins Location部分中配置System Admin e-mail address

然后对于获得其配置的每个作业以及Add post-build action,请选择E-mail Notification并根据需要进行配置。

插件

默认詹金斯电子邮件机制问题是,它具有非常有限的定制。

另一种方法是使用功能强大的电子邮件通知机制Email-Ext plugin。您可以定义一些全局触发器,但您也可以自定义每个作业的设置。支持发送成功,失败或任何其他构建状态的电子邮件。

+0

我已经做了这件事,但我只得到测试邮件,我没有得到任何成功或失败的邮件, – krs 2013-08-27 12:05:50

5
  1. 转到:管理詹金斯 - >管理插件 - > '可用' 选项卡 - >选择 '电子邮件的扩展插件' - >点击按钮 '安装不重启'

  2. 管理詹金斯 - >系统配置 - > 进入“电子邮件通知”

填补了详细的细节在下面给出并保存:

enter image description here

  1. 在项目/作业的配置中,勾选“电子邮件通知”--->输入详细信息--->保存--->创建作业/项目
1

此答案适用于使用python脚本&通过Jenkins发送邮件。

您需要为此拥有PsExec.exe。这远程运行应用程序。

创建在运行自由式项目&以下DOS外壳命令:

路径\到\ psexec.exe -u用户名-p密码-i 1 CMD -accepteula/C蟒路径\到\ SendMail.py

用户名&密码是用于运行Outlook的Windows用户帐户。 path \ to \ SendMail.py是python脚本的位置。 SendMail。py kinda看起来像这样:

import win32com.client as win32 
outlook=win32.Dispatch('outlook.application') 
mail=outlook.CreateItem(0) 
mail.To='[email protected]' 
mail.Subject="Test Mail" 
mail.HTMLBody="Hiii, This is just a test mail." 
mail.Send() 

这里我使用wind32com执行outlook。邮件将使用默认账户登录前景发送。

您可以在作业完成后每次触发构建此项目。

希望这是任何人任何帮助:)

0
  1. 推出詹金斯。
  2. 访问管理主页上的Jenkins链接。

  3. 转到页的结尾,并填写电子邮件通知的详细信息: enter image description here

  4. 点击测试通知,以验证它是否发送电子邮件。

  5. 请参阅詹金斯发送的电子邮件。 enter image description here

enter image description here

相关问题