Files
archived-gitea-ai-assistant/.cursor/rules/07-pr-notification.mdc
2025-04-23 13:54:10 +08:00

67 lines
2.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description:
globs:
alwaysApply: false
---
# PR 通知功能
## 概述
系统通过飞书Feishu实现 PR 相关的通知功能,主要包括 PR 创建通知和审阅者指派通知。核心实现在 [src/services/feishu.ts](mdc:src/services/feishu.ts) 中。
## 主要功能
### PR 创建通知
当 PR 被创建且有指定审阅者时,系统会自动发送通知:
- 触发条件PR 创建事件 + 存在指定审阅者
- 通知对象:所有指定的审阅者
- 通知内容PR 标题和链接
- 实现位置:[src/controllers/review.ts](mdc:src/controllers/review.ts) 中的 `handlePullRequestEvent` 函数
### 审阅者指派通知
当新的审阅者被指派到 PR 时,系统会发送通知:
- 触发条件PR review_requested 事件
- 通知对象:新指派的审阅者
- 通知内容PR 标题和链接
- 实现位置:同样在 `handlePullRequestEvent` 函数中
## 配置要求
使用通知功能需要配置以下环境变量:
1. **必需配置**
- `FEISHU_WEBHOOK_URL`:飞书 Webhook 地址
2. **可选配置**
- `FEISHU_WEBHOOK_SECRET`:飞书 Webhook 密钥(可选,用于加强安全性)
## 实现细节
1. **通知处理流程**
- Webhook 事件由 [src/controllers/review.ts](mdc:src/controllers/review.ts) 接收和处理
- 通知发送由 [src/services/feishu.ts](mdc:src/services/feishu.ts) 实现
- 使用飞书的消息 API 发送通知
2. **错误处理**
- 通知发送失败不会影响代码审查流程
- 所有错误都会被记录但不会中断主流程
- 支持失败重试机制
3. **通知格式**
- PR 创建通知:使用 🔄 表情符号
- 审阅者指派通知:使用 👀 表情符号
- 包含 PR 标题和可点击的链接
## 最佳实践
1. **配置建议**
- 建议配置 `FEISHU_WEBHOOK_SECRET` 以增强安全性
- 确保飞书机器人有足够的权限发送消息
2. **使用注意**
- 避免过于频繁的通知以防打扰
- 确保 PR 标题清晰以便接收者快速理解
- 合理使用审阅者指派功能,避免过多人员参与