auto-sync: 2026-06-06 10:44:36
This commit is contained in:
@@ -1046,6 +1046,15 @@ Text:
|
|||||||
- 新增:Agent ID ↔ Git 用户名映射
|
- 新增:Agent ID ↔ Git 用户名映射
|
||||||
- §9.0 衔接机制表更新:所有 ci-notifier 引用替换为 daemon Webhook 模块
|
- §9.0 衔接机制表更新:所有 ci-notifier 引用替换为 daemon Webhook 模块
|
||||||
- §9.0.1 通知模板 From 字段更新:ci-notifier → daemon-webhook
|
- §9.0.1 通知模板 From 字段更新:ci-notifier → daemon-webhook
|
||||||
|
|
||||||
|
### v2.0 司马懿终审修订
|
||||||
|
|
||||||
|
| 编号 | 类型 | 问题 | 修订内容 |
|
||||||
|
|------|------|------|----------|
|
||||||
|
| M1 | 必须修 | 超时阈值统一 4h 不合理 | §15.4 改为从 Mail metadata 读取个性化 deadline,三级处置按超时程度而非绝对时间 |
|
||||||
|
| S1 | 建议 | Webhook 代码缺少映射步骤 | §15.3 代码示例加 to_agent_id() 映射函数,所有 send_mail 调用都经映射 |
|
||||||
|
| S2 | 建议 | Webhook 缺签名验证 | §15.3 代码示例加 X-Gitea-Signature HMAC 验证 |
|
||||||
|
| S3 | 建议 | 缺 Bug 确认模板 | §15.5 新增模板 6(Bug 确认通知) |
|
||||||
- §14 待讨论更新:已确认事项标记,新增 Webhook 模块待讨论项
|
- §14 待讨论更新:已确认事项标记,新增 Webhook 模块待讨论项
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -1163,21 +1172,24 @@ async def handle_gitea_webhook(event: dict, x_gitea_event: str = Header(...), x_
|
|||||||
elif x_gitea_event == "pull_request_review":
|
elif x_gitea_event == "pull_request_review":
|
||||||
state = event["review"]["state"]
|
state = event["review"]["state"]
|
||||||
if state == "APPROVED":
|
if state == "APPROVED":
|
||||||
await send_mail(to=event["pull_request"]["user"]["login"],
|
pr_author = to_agent_id(event["pull_request"]["user"]["login"])
|
||||||
|
await send_mail(to=pr_author,
|
||||||
title=f"Review 通过: PR #{event['number']},请 merge", ...)
|
title=f"Review 通过: PR #{event['number']},请 merge", ...)
|
||||||
elif state == "REQUEST_CHANGES":
|
elif state == "REQUEST_CHANGES":
|
||||||
await send_mail(to=event["pull_request"]["user"]["login"],
|
pr_author = to_agent_id(event["pull_request"]["user"]["login"])
|
||||||
|
await send_mail(to=pr_author,
|
||||||
title=f"Review 不通过: PR #{event['number']}", ...)
|
title=f"Review 不通过: PR #{event['number']}", ...)
|
||||||
|
|
||||||
elif x_gitea_event == "issue_comment":
|
elif x_gitea_event == "issue_comment":
|
||||||
# CI 自动写的失败评论 → 转发给相关 Agent
|
# CI 自动写的失败评论 → 转发给相关 Agent
|
||||||
if "CI 失败" in event["comment"]["body"]:
|
if "CI 失败" in event["comment"]["body"]:
|
||||||
await send_mail(to=event["sender"]["login"],
|
commenter = to_agent_id(event["sender"]["login"])
|
||||||
|
await send_mail(to=commenter,
|
||||||
title=f"CI 失败: PR #{event['number']}", ...)
|
title=f"CI 失败: PR #{event['number']}", ...)
|
||||||
|
|
||||||
elif x_gitea_event == "issues":
|
elif x_gitea_event == "issues":
|
||||||
if event["action"] == "assigned":
|
if event["action"] == "assigned":
|
||||||
assignee = event["assignee"]["login"]
|
assignee = to_agent_id(event["assignee"]["login"])
|
||||||
await send_mail(to=assignee,
|
await send_mail(to=assignee,
|
||||||
title=f"任务指派: Issue #{event['number']}", ...)
|
title=f"任务指派: Issue #{event['number']}", ...)
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user