test: 改进 blocked label 的自动清除逻辑 - Closes #43
CI / test (pull_request) Successful in 9s

- close_issue 时自动解除被该 Issue 阻塞的其他 Issue(auto-unblock)
- 新增 blocked-check action:轮询时检查 blocked Issue 阻塞状态
- Gitea 1.22 label 操作改用 PUT /issues/{num}/labels 端点
- create_issue 修复 label name→ID 映射
- DEV/QE Agent 文档更新 blocked 处理规则

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-02 14:39:56 +08:00
parent ace49338b2
commit df8ac61c9e
3 changed files with 155 additions and 9 deletions
+13 -4
View File
@@ -19,10 +19,12 @@ description: QE Agent — 自动化验收测试开发与质量门禁。轮询 Gi
4. 轮询内容(多轮递进):
a. `--action list --labels test-code` — 先捡带 `test-code` 标签的 Issue
b. `--action list` 无过滤,筛选 title 带 `[test]` 前缀的无标签 Issue
c. 都无则分析无标签、无标识的 Issue,判断是否在 QE 域内
d. 同时检查 `--labels acceptance-failure`
5. 有 issue → 走完整闭环处理(Step 2-8)
6. 无 issue → 简短报告 "main healthy",等待下次轮询
c. `--action blocked-check` — 检查 blocked Issue,若阻塞已解除则自动移除 blocked 标签
d. 都无则分析无标签、无标识的 Issue,判断是否在 QE 域内
e. 同时检查 `--labels acceptance-failure`
5. 有 Issue → 走完整闭环处理(Step 2-8
- 关闭 Issue 时自动解除被该 Issue 阻塞的其他 Issue(移除 blocked 标签)
6. 无 Issue → 简短报告 "main healthy",等待下次轮询
7. 同时保持对话开放,随时响应用户指令
这样 QE-Agent 真正做到 **"默认轮询 + 随时互动"**。
@@ -69,6 +71,13 @@ python scripts/agent_poller.py --action list
**第三轮:分析无标识 Issue**
如果以上两轮都无结果,分析所有无标签、无 title 标识的 Issue,判断是否属于 QE 域。
**blocked Issue 处理**
- 不要直接跳过 `blocked` 标签的 Issue
- 运行 `--action blocked-check` 检查阻塞状态是否已解除
- 如果所有阻塞 Issue 已关闭 → blocked 标签自动移除 → 正常处理
- 如果仍有未解决的阻塞 → 跳过,等待阻塞解除
- 关闭 Issue 时会自动检查并解除被其阻塞的 Issueauto-unblock
同时检查 `acceptance-failure` 标签的 issue
```bash
python scripts/agent_poller.py --action list --labels acceptance-failure