如何每日定时自动发送Jira Xray测试计划状态邮件?
实现Jira Xray测试计划每日状态邮件自动推送(含通过/失败用例数)
方法一:用Jira Automation配置(无需额外工具)
- 创建新自动化规则,触发条件选择计划,设置每日定时执行(比如每天早9点)
- 添加查找问题动作,用JQL筛选目标测试计划:
(根据实际需求调整筛选条件)issuetype = "Test Plan" AND project = "你的项目key" AND status in ("Active", "In Progress") - 为每个找到的测试计划添加分支规则(选择“针对每个问题”)
- 在分支内添加查找问题动作,筛选该测试计划关联的所有测试用例并按状态过滤:
issue in testCases("{{issue.key}}") AND status in ("Pass", "Fail") - 添加计算值动作,分别统计通过、失败用例数:
- 通过数变量值:
{{#issues}}{{#status.Pass}}{{count}}{{/status.Pass}}{{/issues}} - 失败数变量值:
{{#issues}}{{#status.Fail}}{{count}}{{/status.Fail}}{{/issues}}
- 通过数变量值:
- 添加发送邮件动作,收件人填写你和经理的邮箱,邮件内容示例:
测试计划 {{issue.key}} - {{issue.summary}} 每日状态报告: - 通过测试用例数:{{通过数变量名}} - 失败测试用例数:{{失败数变量名}} - 保存并激活规则
方法二:结合现有Jenkins流水线实现
- 在Jenkins新建自由风格项目,设置定时构建(Cron表达式示例:
0 9 * * *,代表每天早9点执行) - 添加执行shell构建步骤,用Xray REST API获取测试计划的用例状态统计(需提前安装
jq工具):# 替换为你的Jira域名、API令牌和测试计划key JIRA_DOMAIN="https://your-jira-instance.com" API_TOKEN="your-jira-api-token" TEST_PLAN_KEY="TP-123" # 获取通过用例数 PASS_COUNT=$(curl -s -u "your-jira-username:${API_TOKEN}" "${JIRA_DOMAIN}/rest/raven/1.0/api/testplan/${TEST_PLAN_KEY}/testcases" | jq '[.[] | select(.status.name == "Pass")] | length') # 获取失败用例数 FAIL_COUNT=$(curl -s -u "your-jira-username:${API_TOKEN}" "${JIRA_DOMAIN}/rest/raven/1.0/api/testplan/${TEST_PLAN_KEY}/testcases" | jq '[.[] | select(.status.name == "Fail")] | length') - 配置Jenkins邮件插件,设置收件人为你和经理的邮箱,邮件内容插入统计变量:
主题:测试计划 ${TEST_PLAN_KEY} 每日状态报告
正文:测试计划 ${TEST_PLAN_KEY} - 项目测试状态: 通过测试用例数:${PASS_COUNT} 失败测试用例数:${FAIL_COUNT} - 保存项目并启用定时构建
智能值规则失败的常见排查点
- 字段引用错误:Xray测试计划的测试用例状态无法直接通过
{{issue}}的顶层字段获取,必须通过查找问题动作筛选关联用例后统计 - 权限不足:确保自动化规则执行账号拥有Xray的
Browse Test Plans和Browse Test Cases权限 - 筛选逻辑错误:JQL查询时需准确匹配测试计划的key或项目范围,避免遗漏或错误匹配测试用例
内容的提问来源于stack exchange,提问作者Andrei Malchanau
相关产品推荐
相关产品推荐

