diff --git a/apps/api/src/services/decision_manager.py b/apps/api/src/services/decision_manager.py index 2bbab25f..99f70e29 100644 --- a/apps/api/src/services/decision_manager.py +++ b/apps/api/src/services/decision_manager.py @@ -666,6 +666,17 @@ class DecisionManager: """ action = token.proposal_data.get("kubectl_command", "") + # 替換所有 placeholder — {target}/{namespace}/ 等 + _target = incident.affected_services[0] if incident.affected_services else "unknown" + _ns = "awoooi-prod" + if incident.signals: + _ns = incident.signals[0].labels.get("namespace", "awoooi-prod") + import re as _re + action = action.replace("{target}", _target).replace("{namespace}", _ns) + # 格式佔位符 → 用 target 替換 + action = _re.sub(r"", _target, action) + action = _re.sub(r"<[^>]+>", _target, action) + try: # 延遲導入避免循環依賴 from src.models.approval import ApprovalRequest, ApprovalStatus