# 阶段任务生命周期与自动创建 ## 目录 1. 目标链路 2. TK01–TK08规则 3. 关系与代码资产 4. 原生规则和桥接边界 5. 验证与回滚 ## 1. 目标链路 ```text 需求设计中 + 设计任务处理中 → 设计任务已完成 → 需求设计完成 → 创建并关联开发任务 → 需求待开发 + 开发任务待处理 → 正式关联需求分支 → 需求开发中 + 开发任务处理中 → 全部相关MR合并到真实dev/develop → 需求开发完成 + 开发任务已完成 → test流水线部署成功 → 创建并关联测试任务 → 需求测试中 + 测试任务处理中 → 用例全部通过且缺陷复测关闭 → 需求测试完成 + 测试任务已完成 ``` 分支只能合并到集成分支,不能“合并到测试环境”。test环境由流水线部署;部署成功用于允许测试开始,不用于证明生产发布。 ## 2. TK01–TK08规则 | ID | 触发 | 必要条件 | 动作 | 推荐实现 | |---|---|---|---|---| | TK01 | 需求进入设计中 | 已正式关联设计任务;任务标签=`设计` | 设计任务保持待处理,负责人真实开工后人工改为处理中 | 默认+人工 | | TK02 | 设计任务变为已完成 | 需求当前状态=设计中;本阶段设计任务非零且全部完成 | 需求改为设计完成 | 原生规则 | | TK03 | 需求变为设计完成 | 不存在同需求、同阶段、未取消的开发任务 | 创建并正式关联开发任务,标签=`开发`,状态=待处理 | API/Webhook桥接 | | TK04 | 开发任务创建并关联成功 | 需求当前状态=设计完成;开发任务关系可见 | 需求改为待开发 | 原生规则 | | TK05 | 正式关联需求分支/代码资产 | 需求=待开发;开发任务=待处理;资产同时关联需求和开发任务 | 需求改为开发中;开发任务改为处理中 | 原生规则 | | TK06 | 关联合并请求状态变化 | 需求=开发中;开发任务=处理中;全部相关前后端MR已合并到真实集成分支 | 需求改为开发完成;开发任务改为已完成 | 原生规则 | | TK07 | test流水线部署成功 | 需求=开发完成;执行ID未处理;不存在同需求、同阶段、未取消的测试任务 | 创建并关联测试任务,关联测试计划/用例,任务改为处理中,需求改为测试中 | API/Webhook桥接 | | TK08 | 测试验收完成 | 用例全部通过;失败用例已复测;范围内缺陷均由测试关闭 | 测试任务改为已完成;需求改为测试完成 | 桥接/人工门禁 | ## 3. 关系与代码资产 - 设计、开发、测试任务必须使用云效正式父子项或关联项关系,不依赖标题关键字。 - 开发分支和MR必须同时关联产品需求与对应开发任务;只关联需求不能可靠更新开发任务。 - 一个需求涉及多个仓库时,全部相关前端、后端MR都纳入TK06门禁。 - 首次提交可能晚于真实开工。任务`处理中`的权威时间是负责人执行“开始处理”;分支关联仅作自动兜底。 ## 4. 原生规则和桥接边界 优先使用云效原生规则处理状态变化、父子项、关联项和Codeup对象。若当前规则编辑器没有“创建工作项”动作,TK03和TK07必须标记为`integration_bridge`或`not_supported`,不得声称已经自动创建。 桥接创建任务时使用幂等键: ```text 项目ID + 需求ID + 阶段类型 ``` 重复回调先查询是否存在未取消的同阶段任务;存在则复用并校验正式关系,不重复创建。流水线回调还要校验签名、时间戳、执行ID、防重放和失败重试。 ## 5. 验证与回滚 - 正向验证每个TK控制,并检查需求和任务两个对象的状态。 - 负向验证零任务、错误标签、错误当前状态、未正式关联分支、只合并部分MR、流水线失败和重复回调。 - 新规则不会补触发历史事件。历史任务仅在核对MR/流水线证据后人工修正,并标记为测试准备或数据修复。 - 回滚时先禁用新增规则或桥接入口,不删除已有任务和关系;恢复前一状态需要单独业务确认。 ## 6. 进阶段自动建同名任务(与 OneOS / 口令共用) 完整规则见 [auto-stage-task.md](auto-stage-task.md)。摘要: | 需求状态 | 同名任务标签 | 负责人 | |---|---|---| | 分析中 | `分析` | 需求创建人 | | 设计中 | `设计` | 需求创建人 | | 待开发 | `交付` 或 `开发` | 何斐 | 必须正式关联需求;计划开始/创建时间沿用需求;同阶段幂等查重。 当创建或修复**分析 / 设计 / 交付(开发)**任务时: 1. **任务标签(右侧基础字段)**:分析 → `分析`;设计 → `设计`;待开发主任务 → `交付`(或 `开发`)。Title 同名或前缀 alone 不够。 2. **正式关联需求**:每条阶段任务必须链接到**产品需求**(父子或关联项)。只关联其他任务不算完成。 3. 创建/修复后先核对标签与可见需求关系,再报告成功。