From ac85ee67f1cab8b4793266ec87f7ff7bfe797e74 Mon Sep 17 00:00:00 2001 From: ymq Date: Tue, 18 Aug 2026 17:35:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20create=5Ftask=20=E7=9A=84=20iteration=5F?= =?UTF-8?q?id=20=E5=BD=92=E4=B8=80=E5=8C=96=E4=B8=BA=E8=BF=AD=E4=BB=A3?= =?UTF-8?q?=E5=90=8D=EF=BC=88agent=20=E4=BC=A0=E8=BF=AD=E4=BB=A3=20ID=20?= =?UTF-8?q?=E6=97=B6=E5=8F=8D=E6=9F=A5=E5=90=8D=E7=A7=B0=EF=BC=89=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=BB=E5=8A=A1=E6=A0=91=E6=8C=89=E5=90=8D?= =?UTF-8?q?=E5=8C=B9=E9=85=8D=E8=AE=A1=E6=95=B0=E4=B8=BA=200=20=E7=9A=84?= =?UTF-8?q?=E7=9F=9B=E7=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pipeline_service/sdlc_ability.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pipeline_service/sdlc_ability.py b/pipeline_service/sdlc_ability.py index 29512a8..3fa2415 100644 --- a/pipeline_service/sdlc_ability.py +++ b/pipeline_service/sdlc_ability.py @@ -368,8 +368,16 @@ async def _h_create_task(sor, p, ctx): tid = getID() # 迭代归属:显式指定 > 当前迭代(该 project 最新创建的迭代)。 # 「当前迭代」概念:新建迭代后当前迭代即新建的那个,任务默认归到它。 + # 统一存「迭代名」:agent 可能传迭代 ID 或迭代名,都归一化为迭代名(task_tree 按名匹配)。 iteration_name = (p.get("iteration_id", "") or "").strip() - if not iteration_name: + if iteration_name: + # 归一化:传的是迭代 ID → 反查迭代名;传的是迭代名 → 反查不到则保持原名 + irecs = await sor.sqlExe( + "SELECT iteration_name FROM sd_iterations WHERE id=${iid}$ AND project_id=${pid}$", + {"iid": iteration_name, "pid": pid}) + if irecs and getattr(irecs[0], 'iteration_name', ''): + iteration_name = getattr(irecs[0], 'iteration_name', '') + else: irecs = await sor.sqlExe( "SELECT iteration_name FROM sd_iterations WHERE project_id=${pid}$ ORDER BY created_at DESC LIMIT 1", {"pid": pid})