前段时间给公司内部项目搭建了一套接口自动化框架,基于实际使用,需要配置自动发送邮件功能,将
执行结果发送给相关负责人。Jenkins本身也提供了一个邮件通知功能,但在提供详细的邮件内容、自定义邮
件格式、自定义邮件配置等方面有一定的局限性。本文围绕Jenkins邮件插件来讲一下邮件配置,由于公司内
部保密协议,我将企业邮箱换成QQ邮箱来讲解。
安装邮箱插件
在Jenkins主页点击Manage Plugins,选择Available,在搜索栏中输入“Email Extension”,安装即可,
我这里已经安装过,所以显示在Updates中。
开通POP3/SMTP服务
使用QQ邮箱需要开通这个服务,后续在Jenkins邮件配置中要用到。登录QQ邮箱,点击首页的设置-账户,
验证手机号或密保来开启POP3/SMTP服务。开通后点击生成授权码,复制授权码备用。
在Jenkins中进行设置
配置Jenkins Location
配置Extended E-mail Notification
SMTP Server:smtp.qq.com
SMTP Port:465
SMTP Username:QQ邮箱地址
SMTP Password:刚刚生成的授权码
Default user E-mail suffix:@qq.com
Charset:UTF-8
Default Content Type:HTML(text/html)
Default Recipients:QQ邮箱地址
配置E-mail Notification
填写内容和Extended E-mail Notification中一致即可,勾选Use SSL。
配置邮件通知
进入需要配置的项目,点击configure>>>Post-build Actions,增加构建步骤Extended E-mail Notification。
项目使用过程中,对邮件内容模板进行了更改,增加了更多需要的内容,抓取了部分执行日志。
${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志
项目构建信息
构建项目-${PROJECT\_NAME} |
构建结果 - ${BUILD\_STATUS} |
测试数量-${TEST\_COUNTS, var="total"} |
本邮件由系统自动发出,无需回复!
各位同事,大家好,以下为${PROJECT\_NAME}项目构建信息
构建报告
|
构建信息
|
构建详细信息
- BRANCH\_NAME: ${BRANCH\_NAME}
- CHANGE\_ID: ${CHANGE\_ID}
- CHANGE\_URL: ${CHANGE\_URL}
- CHANGE\_TITLE: ${CHANGE\_TITLE}
- CHANGE\_AUTHOR: ${CHANGE\_AUTHOR}
- CHANGE\_AUTHOR\_DISPLAY\_NAME: ${CHANGE\_AUTHOR\_DISPLAY\_NAME}
- CHANGE\_AUTHOR\_EMAIL: ${CHANGE\_AUTHOR\_EMAIL}
- CHANGE\_TARGET: ${CHANGE\_TARGET}
- BUILD\_NUMBER: ${BUILD\_NUMBER}
- BUILD\_DISPLAY\_NAME: ${BUILD\_DISPLAY\_NAME}
- BUILD\_ID: ${BUILD\_ID}
- JOB\_NAME: ${JOB\_NAME}
- JOB\_BASE\_NAME: ${JOB\_BASE\_NAME}
- BUILD\_TAG: ${BUILD\_TAG}
- EXECUTOR\_NUMBER: ${EXECUTOR\_NUMBER}
- NODE\_NAME: ${NODE\_NAME}
- NODE\_LABELS: ${NODE\_LABELS}
- WORKSPACE: ${WORKSPACE}
- JENKINS\_HOME: ${JENKINS\_HOME}
- JENKINS\_URL: ${JENKINS\_URL}
- BUILD\_URL: ${BUILD\_URL}
- JOB\_URL: ${JOB\_URL}
- GIT\_COMMIT: ${GIT\_COMMIT}
- GIT\_PREVIOUS\_COMMIT: ${GIT\_PREVIOUS\_COMMIT}
- GIT\_PREVIOUS\_SUCCESSFUL\_COMMIT: ${GIT\_PREVIOUS\_SUCCESSFUL\_COMMIT}
- GIT\_BRANCH: ${GIT\_BRANCH}
- GIT\_LOCAL\_BRANCH: ${GIT\_LOCAL\_BRANCH}
- GIT\_URL: ${GIT\_URL}
- GIT\_COMMITTER\_NAME: ${GIT\_COMMITTER\_NAME}
- GIT\_AUTHOR\_NAME: ${GIT\_AUTHOR\_NAME}
- GIT\_COMMITTER\_EMAIL: ${GIT\_COMMITTER\_EMAIL}
- GIT\_AUTHOR\_EMAIL: ${GIT\_AUTHOR\_EMAIL}
- MERCURIAL\_REVISION: ${MERCURIAL\_REVISION}
- MERCURIAL\_REVISION\_SHORT: ${MERCURIAL\_REVISION\_SHORT}
- MERCURIAL\_REVISION\_NUMBER: ${MERCURIAL\_REVISION\_NUMBER}
- MERCURIAL\_REVISION\_BRANCH: ${MERCURIAL\_REVISION\_BRANCH}
- MERCURIAL\_REPOSITORY\_URL: ${MERCURIAL\_REPOSITORY\_URL}
- SVN\_REVISION: ${SVN\_REVISION}
- SVN\_URL: ${SVN\_URL}
|
失败用例
${FAILED\_TESTS}
|
最近提交(#$GIT\_REVISION)
|
变更信息:
|
-
上次构建成功后变化 : ${CHANGES\_SINCE\_LAST\_SUCCESS, reverse=true, format="%c", changesFormat="
- %d \[%a\] %m
"}
|
- 上次构建不稳定后变化 : ${CHANGES\_SINCE\_LAST\_UNSTABLE, reverse=true, format="%c", changesFormat="
- %d \[%a\] %m
"}
|
|
- 变更集:${JELLY\_SCRIPT,template="html"}
|
构建日志 (最后 200行):
|
|
测试构建邮件
相关的配置都完成后,在Jenkins配置界面勾选"Test configuration by sending test e-mail",发送测试邮件。