Jenkins默认有一个邮件通知功能,但功能比较单一,能自定义的东西很少,一般使用Extended E-mail Notification插件来发送邮件,EXT Email插件功能比较多,但设置也比较复杂。

前言

由于只是学习Jenkins,所以这里写的不会太多,只会简单的写一下,后续学习到了会更新。这里有几个关键的地方提一下:

  1. Extended E-mail Notification的发件人邮箱和Jenkins Location系统管理员邮箱相同
  2. SMTP Authentication的Password 是SMTP的授权码,不是邮箱密码,同时也要确认是否开启SMTP。
  3. 勾选”Enable Debug Mode”可以开启EXT E-mail Notification的调试功能,这样可以在构建日志里增加更多相关日志。
  4. EXT E-mail插件并没有测试功能,需要在构建后查看Console Output下的日志。
  5. 如果发送邮件失败,要注意SMTP Authentication的User Name要输全邮箱名。

配置

Extended E-mail Notification的配置就是在系统管理——系统设置里面。在设置EXT E-mail 之前,我们需要先设置一下Jenkins Location里的系统管理员邮箱。这个邮箱必须保证和下面的发件人相同

然后再设置EXT E-mail插件。这里需要注意一下

  • Default user E-mail suffix。设置默认的EMAIL后缀名,这里设置后,之后的发件人若不设置后缀,都以这个为后缀。
  • 勾选Use SMTP Authentication。填入发件人的用户名密码、SMTP的端口号等信息。这里注意用户名要填全,密码要填写SMTP的授权码,这个授权码需要去邮箱里开启SMTP并获取授权码。
  • Default Recipients。设置默认收件人,这里就可以不用输@后缀了,以Default suffix为后缀,当然如果不是该后缀输全邮箱名就可以了

    EXT E-mail的优势就在于可以自定义各种东西,比如这里可以自定义邮箱的标题和内容。

这里给出一个Content模版,注意,如果这里是网页格式需要在EXT E-mail的Default Content Type里修改为HTML。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head> <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif"> 大专栏  Jenkins之邮件通知
<tr>
<td>(本邮件由程序自动下发,请勿回复!)</td>
</tr>
<tr>
<td>
<h2><font color="#FF0000">构建结果 - ${BUILD_STATUS}</font></h2>
</td>
</tr>
<tr>
<td><br />
<b><font color="#0B610B">构建信息</font></b>
<hr size="2" width="100%" align="center" />
</td>
</tr>
<tr> SVN_URL
<td>
<ul>
<li>项目名称:${PROJECT_NAME}</li>
<li>构建编号:${BUILD_NUMBER}</li>
<li>GIT版本:${GIT_REVISION}</li>
<li>触发原因:${CAUSE}</li>
<li>构建日志:<a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
</ul>
</td>
</tr>
<tr>
<td>
<b><font color="#0B610B">变更信息:</font></b>
<hr size="2" width="100%" align="center" />
</td>
</tr>
<tr>
<td>
<ul>
<li>上次构建成功后变化 : ${CHANGES_SINCE_LAST_SUCCESS}</a></li>
</ul>
</td>
</tr>
<tr>
<td>
<ul>
<li>上次构建不稳定后变化 : ${CHANGES_SINCE_LAST_UNSTABLE}</a></li>
</ul>
</td>
</tr>
<tr>
<td>
<ul>
<li>历史变更记录 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
</ul>
</td>
</tr>
<tr>
<td>
<ul>
<li>变更集:${JELLY_SCRIPT,template="html"}</a></li>
</ul>
</td>
</tr>
<hr size="2" width="100%" align="center" />
</table>
</body>
</html>

使用

好了,系统设置里配置完成,只剩下使用里配置一下就可以了。在项目的设置里面,选择”增加构建后操作步骤”,再选择”Editable Email Notification”

就会出现如图设置,我们这里让它默认

然后点击最下方的Advanced Setting

可以在Triggers里设置更多的触发事件,以及设置,这里点击高级

然后在Recipient List里输入收件人,如需发送给多个人可以使用,

然后单击下方的保存,进入到项目里——立即构建。然后再查看构建的Consolo Output。观察是否发送成功。
如图表示发送成功,再去收件邮箱看是否收到邮件即可

Jenkins之邮件通知的更多相关文章

  1. Jenkins 配置邮件通知步骤

    Jenkins 配置邮件通知前言 可以在Jenkins 中配置邮件通知,比如在构建失败时发送邮件通知项目组来及时修复问题. Jenkins 邮件通知功能的插件主要包括: Mailer Plugin ( ...

  2. Jenkins进阶-邮件通知(9)

    公司内部每天大概会发布N多版本,也不能派员工一直去盯着版本发布,所以希望发布完成后通知相关人员,Jenkins最早采用通知机制就是短信和邮件,由于短信成本很高,所以我们一般在发布结束后会采用邮件.现在 ...

  3. Jenkins 配置邮件通知

    jenkins 是一个开源的自动化服务器.通过Jenkins,可以通过自动化加速软件开发过程.Jenkins管理和控制各种开发的生命周期过程,包括构建,文档,测试,包,阶段,部署,静态分析等等.您可以 ...

  4. 环境部署(八):jenkins配置邮件通知

    完成基于jenkins的持续集成部署后,任务构建执行完成,测试结果需要通知到相关人员.这篇博客,介绍如何在jenkins中配置邮件通知的方法... 一.安装邮件插件 由于Jenkins自带的邮件功能比 ...

  5. jenkins持续集成(三): jenkins配置邮件通知

    完成基于jenkins的持续集成部署后,任务构建执行完成,测试结果需要通知到相关人员.这篇博客,介绍如何在jenkins中配置邮件通知的方法... 一.安装邮件插件 由于Jenkins自带的邮件功能比 ...

  6. Jenkins email-ext邮件通知模板

    http://blog.csdn.net/houyefeng/article/details/51344337 示例 以html格式发送送如下内容:邮件内容为项目名称.构建次数.触发原因.构建日志前1 ...

  7. 设置jenkins的邮件通知功能

    1.进入系统配置页面配置邮件发送的SMTP 2. 进入项目配置页面,配置邮件通知:(每次不稳定构建时会邮件通知)

  8. jenkins配置邮件通知

    参考: https://www.cnblogs.com/imyalost/p/8781759.html 谢谢大佬~

  9. Jenkins进阶系列之——01使用email-ext替换Jenkins的默认邮件通知

    1 简述 众所周知,Jenkins默认提供了一个邮件通知,能在构建失败.构建不稳定等状态后发送邮件.但是它本身有很多局限性,比如它的邮件通知无法提供详细的邮件内容.无法定义发送邮件的格式.无法定义灵活 ...

随机推荐

  1. UML-如何画操作契约?

    1.在编写契约过程中,发现之前的领域模型不对,此时是否需要修改? 需要修改.包括:概念类.属性.关联.这就是不断迭代和进化 2.用例中复杂场景里的状态变化细节,描述过多导致用例臃肿,让人看不下去,因此 ...

  2. BBS配置

    BBS配置 一.url路由 """BBS URL Configuration The `urlpatterns` list routes URLs to views. F ...

  3. Python这五个坑,80%你不知道(对的,五个你知道1个就达到一般水平了)

    1 含单个元素的元组 Python中有些函数的参数类型为元组,其内有1个元素,这样创建是错误的: c = (5) # NO! 它实际创建一个整型元素5,必须要在元素后加一个逗号: ! c = (5,) ...

  4. 创建Maven项目时Maven中的GroupID和ArtifactID的意思

    GroupID 是项目组织中唯一的标识符,对应Java包结构,在项目中看到的是main目录里java的目录结构. ArtifactID是项目的唯一的标识符,实际对应项目的名称(就是idea中工程的名字 ...

  5. java连接外部接口获取数据工具类

    package com.yqzj.util; import org.apache.log4j.LogManager;import org.apache.log4j.Logger; import jav ...

  6. AI大火之下智能手机行业能适应这一风口吗?

    今年智能手机行业的变化,实在是让人摸不到头脑.一方面是智能手机厂商依然在拿出各种具有噱头的产品,仿佛整个市场还依然热火朝天.但在另一方面,智能手机出货量却出现大幅下滑.据中国信息通信研究院发布的数据显 ...

  7. fatal: remote origin already exists.

    解决方法: 先删除, 再添加 1. git remote rm origin 2. git remote add origin https://github.com/zjulanjian/eshop. ...

  8. Python运维中常用的_脚本

    前言 file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件. ...

  9. 论文翻译——Attention Is All You Need

    Attention Is All You Need Abstract The dominant sequence transduction models are based on complex re ...

  10. git 学习系列(一)

    目录 git 简介 git的升级 建立仓库 克隆仓库 查看主机名 查看仓库初始状态 将文件提交到暂存区 查看修改详情 提交修改 查看修改记录 查看个人配置信息(在 .gitconfig 文件中) 查看 ...