From 7720551b8c878a11d7ca7d808e7c0a4b04ef6f7a Mon Sep 17 00:00:00 2001 From: OG T Date: Fri, 27 Mar 2026 10:28:18 +0800 Subject: [PATCH] =?UTF-8?q?fix(api):=20=E4=BF=AE=E5=BE=A9=20Telegram=20?= =?UTF-8?q?=E8=A8=8A=E6=81=AF=20INC-INC-=20=E9=87=8D=E8=A4=87=E5=89=8D?= =?UTF-8?q?=E7=B6=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 問題: TelegramMessage.format() 中的 incident_id 生成邏輯 當 approval_id 已是 "INC-xxx" 格式時仍添加 "INC-" 前綴 修復: 檢查 approval_id 是否已有 INC- 前綴,避免重複 Co-Authored-By: Claude Opus 4.5 --- apps/api/src/services/telegram_gateway.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/api/src/services/telegram_gateway.py b/apps/api/src/services/telegram_gateway.py index 90c9d40d6..67ed0c4e2 100644 --- a/apps/api/src/services/telegram_gateway.py +++ b/apps/api/src/services/telegram_gateway.py @@ -166,8 +166,13 @@ class TelegramMessage: else: conf_emoji = "🔴" - # 自動生成事件編號 - incident_id = self.incident_id or f"INC-{self.approval_id[:8].upper()}" + # 自動生成事件編號 (2026-03-27 ogt: 修復 INC-INC- 重複前綴) + if self.incident_id: + incident_id = self.incident_id + elif self.approval_id.startswith("INC-"): + incident_id = self.approval_id + else: + incident_id = f"INC-{self.approval_id[:8].upper()}" # SignOz URL (優先使用動態 URL) - 必須 HTML 轉義防止解析錯誤 service_name = self.resource_name.split("-")[0] if "-" in self.resource_name else self.resource_name