巧用一个小技巧实现自动打包完成后发邮件通知到相关人员

问题背景:

最近在公司里利用 Jenkins 来实施自动化打包时,遇到一个问题就是:我在打包完成后要如何及时的通知到产品与测试等相关人员。

搁浅

原本是打算在自动化流程内写些脚本去调用邮件服务实现,但是在网上查找了几篇文章后,感觉过程都较为复杂,在实施过程中出现了一些问题没法及时有效的找到原因(PS:毕竟我没有专门去学习过 ShellPython 等脚本语言),同时目前自己工作也比较繁忙所以也更加无暇去研究了,于是就这样一直搁置了这个需求。

柳暗花明

后来有一天,我发现发测试包的发布平台每次都会在我上传测试包成功后给我的邮箱发送一封发布成功的通知邮件

于是灵机一动:我们是不是可以利用这个通知邮件来做点什么呢?🤔

后来想起来邮箱里好像有一个叫“收信规则”的服务。嗯~ 对,就是它,我们完全可以利用它来办到呀。

解决方法:

此时这个问题的解决方法就很明朗了,我们只需设置下收信规则就行了,(注:以下设置是在QQ邮箱内的设置步骤,其他邮箱还请自行探索哈) 具体设置步骤如下:

首先打开你的QQ邮箱->在页面左上角的有个”设置”点击进去,然后切换到”收信规则”选项卡->在页面右测有个“创建收信规则”按钮,点击进去你会看到以下的页面,接下来的具体设置见图
20180527-103652

这样设置完后,到时候发包平台的通知邮件一旦发送到你邮箱里 就会自动转发到你设置的那个邮箱里。至此整个问题得到解决

后记:

这个方法目前还存在着几个问题:

  1. 严重依赖于第三方发布平台的邮件通知,如果第三方发布平台的邮件通知由于一些原因没有发出,那么我们的整个流程也就跟着受到影响。
  2. 邮件内容受制于第三方平台的邮件内容,无法自己定制邮件内容。
  3. 邮箱的“收信规则”服务一次只能转发一个邮箱,且无法设置一个邮件组;那么如果我要通知多人怎么办?(目前我这边是设置了多个类似的规则去实现,但是如果需要通知的人数众多的时候,这方法就显得有点捉襟见肘了,因为规则太多,维护的成本太高)

接下来我将继续寻找更好的解决方法,同时如果您有更好的方法或者思路,还望不吝赐教。Peace~