diff --git a/apps/api/src/services/km_conversion_service.py b/apps/api/src/services/km_conversion_service.py index cd5b3808e..fe3c7a3d8 100644 --- a/apps/api/src/services/km_conversion_service.py +++ b/apps/api/src/services/km_conversion_service.py @@ -132,7 +132,8 @@ class KMConversionService: resolution_time=resolution_time, ) - title = f"{alertname} @ {affected_services[:40]} — {incident.title[:60] if incident.title else '未知'}" + _inc_title = getattr(incident, "title", None) or alertname + title = f"{alertname} @ {affected_services[:40]} — {_inc_title[:60]}" tags = [alertname, affected_services, severity, notification_type] if alert_category != "unknown": @@ -157,10 +158,10 @@ class KMConversionService: event_type="KM_CONVERTED", incident_id=incident.incident_id, actor="km_conversion_service", - action_detail=f"KM entry created: {km_entry.entry_id}", + action_detail=f"KM entry created: {km_entry.id}", success=True, context={ - "km_entry_id": km_entry.entry_id, + "km_entry_id": km_entry.id, "quality_level": target_status.value, "notification_type": notification_type, }, @@ -187,7 +188,7 @@ class KMConversionService: logger.info( "km_incident_vectorized_flagged", incident_id=incident.incident_id, - km_entry_id=km_entry.entry_id, + km_entry_id=km_entry.id, ) except Exception as _ve: logger.warning( @@ -226,13 +227,13 @@ class KMConversionService: logger.info( "km_converted", incident_id=incident.incident_id, - km_entry_id=km_entry.entry_id, + km_entry_id=km_entry.id, quality_level=target_status.value, notification_type=notification_type, ) return { - "km_entry_id": km_entry.entry_id, + "km_entry_id": km_entry.id, "quality_level": target_status.value, } @@ -312,7 +313,7 @@ class KMConversionService: f"- 觸發時間: {created_at_str}\n" f"- 解決時間: {resolved_at_str}\n" + (f"- 即時情境: {context_summary}\n" if context_summary else "") - + f"\n## 根因分析\n{root_cause or incident.title or '未知'}\n" + + f"\n## 根因分析\n{root_cause or getattr(incident, 'title', None) or '未知'}\n" + ( f"\n## 執行動作\n" f"- 類型: {action_type}\n"