Commit d74d1e15 authored by liguangyu06's avatar liguangyu06
Browse files

Email colleagues a test summary with report links and HTML attachment.

parent d76745a3
......@@ -26,9 +26,10 @@ def sendReportEmail() {
mimeType: 'text/html',
charset: 'UTF-8',
attachLog: false,
attachmentsPattern: 'reports/latest/email-summary.html,reports/latest/email-summary.txt',
recipientProviders: []
)
echo "已发送报告邮件至 ${to}"
echo "已发送报告邮件至 ${to}(正文为摘要+报告链接,附件为 email-summary.html)"
} catch (err) {
echo "邮件发送失败。请安装 Email Extension 插件,并在 Manage Jenkins → System 配置 SMTP:${err}"
}
......@@ -66,7 +67,7 @@ pipeline {
string(
name: 'REPORT_EMAIL_TO',
defaultValue: '',
description: '报告收件人,逗号分隔。留空则任务环境变量 REPORT_EMAIL_TO;都空则不发信'
description: '测试报告收件人(同事邮箱,多个用英文逗号)。留空则任务环境变量 REPORT_EMAIL_TO;都空则不发信'
)
string(name: 'REPORT_EMAIL_CC', defaultValue: '', description: '抄送,逗号分隔,可选')
}
......
......@@ -89,6 +89,72 @@ git --version
---
## 第五步:把测试报告用邮件发给同事
流水线跑完会自动发信,不用再加「构建后操作」。
邮件里是:**结果摘要 + 失败用例列表 + Jenkins/Playwright 报告链接**,并带上附件 `email-summary.html`
完整截图/Trace 请同事点邮件里的链接打开(整包报告太大,邮箱会拒收,所以不当附件)。
### 5.1 确认插件
**Manage Jenkins****Plugins****Installed** 里要有 **Email Extension**
没有就到 **Available plugins**`Email Extension` 安装,装完重启。
### 5.2 配 SMTP(只配一次)
1. **Manage Jenkins****Configure System**(系统配置)
2. 页面往下拉,找到 **Extended E-mail Notification**
3. 按公司邮箱填写(问运维要 SMTP):
| 栏位 | 填什么 |
|------|--------|
| SMTP server | 例如 `smtp.公司.com` |
| SMTP port | 常见 `465``587` |
| Use SSL / Use TLS | 按运维说的勾 |
| Credentials | 点 Add,加一个「发件邮箱」的用户名密码,再在下拉框选中它 |
| Default user e-mail suffix | 例如 `@公司.com` |
4. 同一段里找到 **Test configuration** / 测试配置
5. 收件人填 **你自己的邮箱** → 点测试
6. 自己邮箱能收到 Jenkins 测试信,再往下做
收不到:SMTP 地址/端口/授权码不对,先不要填同事邮箱。
### 5.3 填写同事邮箱(每个任务都要填)
打开任务 `spd-ui-smoke` → 左边 **Configure**
**办法 A(推荐)**
勾选 **This project is parameterized**,找到参数 **REPORT_EMAIL_TO**,填:
```text
zhangsan@公司.com,lisi@公司.com
```
多个同事用**英文逗号**分隔,不要用中文逗号。
抄送填 **REPORT_EMAIL_CC**(可空)。
**办法 B**
同一配置页找到 **Build Environment** 或最下面环境变量,增加:
- 名称:`REPORT_EMAIL_TO`
- 值:同事邮箱,逗号分隔
**Save**
nightly、full 两个任务同样填一份邮箱。
### 5.4 再跑一次验证
**Build Now**。跑完后:
- **Console Output** 里应有:`已发送报告邮件至 ...`
- 同事邮箱主题类似:`【SPD UI自动化】smoke 通过 12/12 #3`
若日志写「未配置 REPORT_EMAIL_TO,跳过邮件」:第 5.3 步没填上或没保存。
---
## 出错对照
| 控制台出现 | 原因 |
......@@ -97,5 +163,7 @@ git --version
| git 不是内部命令 | 没装 Git |
| Authentication failed | GitLab 凭据错了 |
| spd-ui-test-account not found | 第二个凭据 ID 写错了 |
| 未配置 REPORT_EMAIL_TO,跳过邮件 | 任务参数 REPORT_EMAIL_TO 没填同事邮箱 |
| 邮件发送失败 / Email Extension | 没装插件,或系统配置里 SMTP 不通 |
不要在「自由风格 → Execute Windows batch command」里贴命令。那种方式和仓库 `Jenkinsfile` 不是同一条路。
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment