# 禅道统一项目状态提醒功能测试指南 ## 功能概述 已成功实现禅道统一项目状态提醒功能,现在系统支持: 1. **统一项目状态提醒** - 一个通知包含任务和BUG(推荐) 2. **单独任务提醒** - 仅任务通知(兼容性) 3. **单独BUG提醒** - 仅BUG通知(兼容性) ## 新增的API接口 ### 1. 测试禅道BUG连接 ``` GET /api/reminder/zentao/bugs/test/{groupId} ``` **功能**: 测试禅道BUG API连接,获取未解决的BUG列表 **响应示例**: ```json { "success": true, "message": "禅道BUG API连接成功", "bugCount": 5, "bugs": [ { "id": "123", "title": "登录页面显示异常", "status": "active", "severity": "2", "assignedTo": "zhangsan", "deadline": "2025-06-01" } ] } ``` ### 2. 手动触发禅道BUG提醒 ``` POST /api/reminder/zentao/bugs/reminder/{groupId} ``` **功能**: 手动发送禅道BUG提醒到企业微信群 **响应示例**: ```json { "success": true, "message": "禅道BUG提醒已发送" } ``` ## 配置说明 BUG功能直接使用现有的 `project-id` 配置,无需额外配置: ```yaml zentao: api-url: "https://zentao.iscmtech.com" username: "admin" password: "password" project-id: 38 # 同时用于获取任务和BUG ``` ## 消息格式 ### BUG提醒消息示例: ``` **禅道BUG提醒** 项目: 一站式平台 未解决BUG: 3个,已过期: 1个 张三 (2个BUG) - 🔴 [238] 测试任务2 [严重] (2025-05-28) - 🐛 [236] 测试任务 [一般] (2025-05-28) 请及时登录禅道系统处理BUG ``` ## 技术实现 ### 新增文件: 1. `ZentaoBug.java` - BUG数据模型 2. `ZentaoBugReminderTest.java` - BUG功能测试 ### 修改文件: 1. `ZentaoApiService.java` - 添加获取BUG的API方法 2. `ZentaoTaskReminderService.java` - 添加BUG提醒逻辑 3. `TaskReminderController.java` - 添加BUG相关API接口 4. `TaskReminderConfig.java` - 添加productId配置字段 5. `application.yml` - 添加产品ID配置 6. `ZENTAO_INTEGRATION.md` - 更新文档 ## 测试步骤 1. **启动应用程序** 2. **测试BUG连接**: ```bash curl http://localhost:8080/api/reminder/zentao/bugs/test/zentao-team ``` 3. **手动触发BUG提醒**: ```bash curl -X POST http://localhost:8080/api/reminder/zentao/bugs/reminder/zentao-team ``` ## 特性说明 - **自动过滤**: 只显示未解决的BUG(状态不是 resolved 或 closed) - **过期标识**: 🔴 表示已过期的BUG,🐛 表示普通未解决BUG - **严重程度**: 显示BUG的严重程度(致命、严重、一般、轻微) - **@人功能**: 支持根据用户映射配置@相关负责人 - **统计信息**: 显示总BUG数和过期BUG数 ## 注意事项 1. **项目ID复用**: 系统直接使用 `project-id` 作为产品ID来获取BUG(在大多数禅道配置中,项目ID和产品ID是相同的) 2. **API兼容性**: 使用禅道开源版 RESTful API v1 3. **权限要求**: 配置的禅道用户需要有产品的BUG查看权限 4. **数据格式**: BUG数据结构与任务数据结构不同,使用专门的ZentaoBug模型处理 ## 后续扩展 可以考虑添加: - 定时BUG提醒(类似任务提醒的定时功能) - BUG优先级过滤 - BUG类型分类显示 - BUG处理时间统计