在Android持续集成--JENKINS+GRADLE+JACOCO+SONARQUBE(二)这个章节中已经介绍过jenkins自带的邮件插件,但它的功能很局限,满足不了诸如构建成功发给哪些人,构建失败发送给哪些人的场景,下面专门介绍这个功能强大的插件Email Extension Plugin,插件的安装过程直接略过

 1.系统设置

  Jenkins首页>>系统管理>>系统设置



 

(1) Default Content Type

         默认的邮件内容格式,文本类型或HTML类型

(2)Default Recipients

        设置默认的邮件接收人,设置后就可以在任务的配置中使用$DEFAULT_RECIPIENT来直接发送邮件,非常方便

        具体的格式抄送用“cc:”前缀,密送用“bcc:”前缀,不使用前缀默认为收件人

        多个接收人,用逗号分割,譬如cc:someone@example.com, bcc:bob@example.com

(3)Default Subject

        默认的邮件主题,$BUILD_NUMBER , $BUILD_STATUS!构建的编号和构建的状态,具体可以超看界面下方的“Content Token Reference”帮助,里面列出了所有的变量

(4)Default Content

       默认内容,这步可以省略,具体可以到任务的配置中去设置,还会介绍到模版

(5)Default Triggers

      默认的邮件触发器,就是什么情况下触发邮件的发送,这里只设置了在构建失败和成功时发送邮件

2. 任务设置

   

    选择Editable Email Notification

具体设置

(1)Default Content

       这里涉及到了模版,在解释${JELLY_SCRIPT,template="custom"}这段是什么意思之前,我们先进入Jenkins目录里看一看

        进入Jenkins安装目录\plugins\email-ext\WEB-INF\lib目录下,解压email-ext.jar后进入hudson\plugins\emailext\templates目录下, 你会发现有一些template文件,这些就是插件自带的邮件模板,支持Jelly和Groovy的扩展。在对应上面的语法,template="custom" custom就是模版的文件名称,可能细心的人会发现,里面并没有custom的文件啊,这就是自定义模版,后面会介绍到。

       当然如果这里的模版符合你的需求,可以将custom替换成html,或者groovy-html.template都可以

      如何看模版符合你的需求,还有一个更快速的预览功能,从jenkings主界面进入你的任务,看左侧面板“Email Template Testing”,模版文件如果以“.jelly”结尾就输入不带后缀的部分,如果以".template"结尾就输入全称

       我们也可以打开html.jelly模版文件,看看里面的语法是怎样的,然后找找资料自己写一个,或者拷贝出来改一改符合自己的需求,作为自定义模版来使用

(2)自定义模版

      在Jenkins安装目录下创建名为email-templates的文件夹,将自定义的模版文件放到这里,譬如叫custom.jelly,就如上面的图片。

(3)Advanced Settings

      因为在系统设置里我们已经设置了默认的触发器,成功和失败,所以在这里我们要分别配置在成功和失败时都要发送给哪些人

      Culprits:如果已经选择了Developers,邮件将发送给最后一次成功构建的代码提交者

      Developers: 邮件将发送给最后一次构建的代码提交者

      Requestor:邮件将发送给触发构建按钮的用户,比如你登录之后,并且构建了任务,那么这个邮件就会发送给你

      Recipient List:邮件将发送给Project Recipient List”中的所有接收人

      Suspects Causing Unit Tests to Begin Failing: 邮件将发送给导致单元测试失败的人

     Suspects Causing the Build to Begin Failing:邮件将发送给导致构建失败的人

     Upstream Committers:这个没有深入研究,有熟悉的可以评论回复一下,相互进步

    

     如果上述还是满足不了你的需求,至少没有满足我的需求,那么继续点击高级

  

   看出有多强大了把,可以随意配置,失败时候发送给哪些人,用什么主题,模版。。


----------------------------------------------------------------------------我是结尾分割线----------------------------------------------------------------------------------------------------

欢迎沟通指导







Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐