内容
# qa-agentic-pipeline
> 一条命令。三个 AI 代理。从 JIRA 工单到草稿 PR,约 30 分钟。
基于 **Claude Code + MCP 服务器** 的 AI 驱动 QA 自动化系统。它读取您的 JIRA 工单,在 BrowserStack 上生成测试用例,编写 Playwright 测试,并创建草稿 PR — 所有这些都由遵循您团队 SOP 的 AI 代理协调。
## 目录
```
├── CLAUDE.md # 通用协调器(路由到您的团队)
├── .mcp.json # MCP 服务器连接(JIRA,BS,GitHub)
│
├── squads/
│ └── your-team/ # ← 重命名为您的团队名称
│ ├── orchestrator.md # 流水线定义
│ ├── agents/
│ │ ├── testcase-agent.md # 读取 JIRA → 创建测试用例 → 推送到 BS
│ │ ├── scraper-agent.md # 从 UI 抓取测试数据
│ │ └── automation-agent.md # 编写 Playwright 测试 → 创建 PR
│ ├── skills/
│ │ ├── createTestcasesSkill.md
│ │ ├── createPlaywrightTestSkill.md
│ │ └── runScraperSkill.md
│ └── config/
│ ├── squad-context.md # 您的领域知识
│ ├── test-conventions.md # 您的测试模式
│ └── jira-fields-mapping.md
│
├── shared/
│ └── skills/
│ ├── readJiraTicketSkill.md # 所有团队共用
│ ├── updateJiraSkill.md
│ └── createDraftPRSkill.md
│ └── createBugInJiraSkill.md
│
└── .claude/
└── commands/ # Claude Code 的斜杠命令
├── qa-pipeline.md
├── create-testcases.md
├── automate-tests.md
├── scrape-data.md
├── update-jira.md
└── create-pr.md
└── report-bug.md
```
## 快速开始(5 分钟)
### 1. 克隆和重命名
```bash
git clone https://github.com/ParthiCM/qa-agentic-pipeline.git
cd qa-agentic-pipeline
# 重命名团队文件夹
mv squads/your-team squads/my-actual-team
```
### 2. 配置 MCP 连接
编辑 `.mcp.json` — 添加您的 GitHub 个人访问令牌:
```json
{
"mcpServers": {
"atlassian": {
"type": "url",
"url": "https://mcp.atlassian.com/v1/mcp"
},
"browserstack": {
"type": "url",
"url": "https://mcp.browserstack.com/sse"
},
"github": {
"type": "command",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your-pat>"
}
}
}
}
```
Atlassian 和 BrowserStack 通过 OAuth 在第一次使用时进行身份验证 — 无需令牌。
### 3. 自定义团队配置
编辑以下文件以获取实际详细信息:
| 文件 | 修改内容 |
|------|---------------|
| `config/squad-context.md` | 您的产品领域、术语、测试内容 |
| `config/test-conventions.md` | 您的测试文件位置、模式、编码风格 |
| `config/jira-fields-mapping.md` | 您的 JIRA 基本 URL、项目密钥、BrowserStack 项目 ID |
| `shared/skills/createDraftPRSkill.md` | 您的 GitHub 组织/仓库、基本分支 |
### 4. 运行它
```bash
claude # 在您的仓库中启动 Claude Code
```
然后输入:
```
/qa-pipeline YOUR-TICKET-123
```
## 工作原理
```
您提供一个 JIRA 工单
│
┌────▼─────┐
│ 阶段 1 │ 抓取器(条件)
│ 抓取 UI│ → 询问:”需要抓取吗?”→ 运行抓取器 → 您审查数据
└────┬─────┘
│
┌────▼─────┐
│ 阶段 2 │ 收集输入
│ 输入 │ → 工单密钥 + BrowserStack 文件夹 ID
└────┬─────┘
│
┌────▼─────────────────────────┐
│ 阶段 3 — 并行代理 │
│ │
│ 代理 A 代理 B │
│ 测试用例 Playwright │
│ → BrowserStack → 草稿 PR │
│ → JIRA 更新 │
└────────────┬─────────────────┘
│
┌────────────▼──────────────┐
│ 阶段 4 — 最终报告 │
│ 包含所有链接的摘要 │
└───────────────────────────┘
```
## 斜杠命令
| 命令 | 功能 |
|---------|-------------|
| `/qa-pipeline TICKET-123` | 完整流水线(抓取 → 测试用例 → 自动化 → PR) |
| `/create-testcases TICKET-123` | 仅测试用例 → BrowserStack + JIRA |
| `/automate-tests TICKET-123` | 仅 Playwright 测试 → 草稿 PR |
| `/scrape-data <url>` | 仅抓取 UI 数据 |
| `/update-jira TICKET-123` | 将测试摘要发布到 JIRA |
| `/create-pr TICKET-123` | 仅创建草稿 PR |
| `/report-bug <Bug Title>` | 在 JIRA 中创建带有测试证据的错误工单 |
## 三层设计
| 层 | 目的 | 文件 |
|-------|---------|-------|
| **代理** | 定义执行内容 | `agents/*.md` |
| **技能** | 定义执行方式(逐步 SOP) | `skills/*.md` |
| **配置** | 定义上下文(领域、约定) | `config/*.md` |
**为什么技能很重要:** 与其让 AI 从头开始创建 BrowserStack 测试用例,不如让它读取您的技能文件并遵循确切的步骤。更新技能 = 每次未来运行都会改进。无需代码更改。
## 多团队支持
该系统设计用于多个团队共享同一个仓库:
```
squads/
├── team-alpha/ ← 团队 A 的代理、技能、配置
├── team-beta/ ← 团队 B 的代理、技能、配置
shared/ ← 所有团队可共用的技能
```
每个团队拥有自己的文件夹。合并到主分支 = 零冲突。新团队上线 = 创建文件夹 + 编写提示。
## 成本
- **~$0.20–$0.35 每流水线运行**(令牌使用)
- 由 Claude Code Pro 订阅($20/月)覆盖
## 要求
- [Claude Code](https://docs.anthropic.com/en/docs/claude-code) 已安装
- JIRA(Atlassian Cloud)
- BrowserStack 测试管理
- GitHub
- Node.js + Playwright 在您的仓库中
## 自定义指南
参见 [CUSTOMIZATION.md](./CUSTOMIZATION.md) 以获取详细的操作指南:
- 添加您自己的抓取脚本
- 更改测试数据文件路径
- 添加新技能
- 新团队上线
- 修改流水线顺序
---
由 [Parthiban Murugan](https://www.linkedin.com/in/parthibanmurugan/) 构建 — AI 驱动的高级 QA 自动化专家。