质量门禁 API
质量门禁在执行完成后自动评估代码质量,基于 6 维加权评分决定合并策略。
列出门禁
http
GET /api/v1/projects/{project_id}/gates
Authorization: Bearer <token>可选查询参数:status=pending、status=approved、status=rejected。
获取门禁详情
http
GET /api/v1/gates/{gate_id}响应 包含:
json
{
"id": "uuid",
"execution_id": "uuid",
"status": "pending",
"score": {
"total": 78.5,
"dimensions": {
"test_pass_rate": { "score": 95, "weight": 0.25 },
"coverage": { "score": 72, "weight": 0.15 },
"static_check": { "score": 88, "weight": 0.15 },
"security": { "score": 60, "weight": 0.20 },
"diff_risk": { "score": 80, "weight": 0.10 },
"requirement_coverage": { "score": 70, "weight": 0.10 },
"ai_review": { "score": 70, "weight": 0.05 }
}
},
"recommendation": "human_review",
"created_at": "2026-05-16T00:00:00Z"
}审批门禁
http
POST /api/v1/gates/{gate_id}/approve
Content-Type: application/json
{
"comment": "代码质量良好,批准合并"
}拒绝门禁
http
POST /api/v1/gates/{gate_id}/reject
Content-Type: application/json
{
"comment": "安全扫描发现问题,需要修复",
"request_rework": true
}评分维度
| 维度 | 权重 | 说明 |
|---|---|---|
| 测试通过率 | 25% | 单元 / 集成 / E2E 测试通过情况 |
| 测试覆盖率 | 15% | 行覆盖 ≥80%,分支覆盖 ≥70% |
| 静态检查 | 15% | Lint、类型检查输出 |
| 安全性 | 20% | OWASP Top 10 扫描结果 |
| 变更风险 | 10% | 高风险文件(认证、支付、迁移等)变更检测 |
| AI 评审 | 5% | Critic Agent 综合评分 |
| 需求覆盖度 | 10% | 审查阶段识别的补充需求落实情况 |
决策阈值
| 评分范围 | 决策 |
|---|---|
| ≥ 85 | 自动合并 |
| 60–84 | 需要人工评审 |
| < 60 | 阻断,需返工 |
阈值可通过 WORKFLOW.md 的 gate_scores 配置自定义。