feat(telegram): enforce canonical product routing
This commit is contained in:
@@ -410,9 +410,10 @@ async def _send_rollback_proposal_alert(
|
||||
不自動執行 rollback,僅通知人工評估。
|
||||
"""
|
||||
try:
|
||||
from src.core.config import get_settings
|
||||
from src.services.telegram_gateway import get_telegram_gateway
|
||||
_settings = get_settings()
|
||||
from src.services.telegram_gateway import (
|
||||
_telegram_send_delivery_succeeded,
|
||||
get_telegram_gateway,
|
||||
)
|
||||
gateway = get_telegram_gateway()
|
||||
|
||||
regressions = assessment.get("regressions", [])
|
||||
@@ -429,20 +430,25 @@ async def _send_rollback_proposal_alert(
|
||||
f"<i>此為提案,不會自動執行 Rollback</i>"
|
||||
)
|
||||
|
||||
target_chat_id = _settings.SRE_GROUP_CHAT_ID
|
||||
await gateway._send_request(
|
||||
"sendMessage",
|
||||
{
|
||||
"chat_id": target_chat_id,
|
||||
"text": text,
|
||||
"parse_mode": "HTML",
|
||||
},
|
||||
)
|
||||
logger.info(
|
||||
"rollback_proposal_sent",
|
||||
incident_id=incident_id,
|
||||
score=score,
|
||||
delivery = await gateway.send_canonical_message(
|
||||
product_id="awoooi",
|
||||
signal_family="incident_lifecycle",
|
||||
severity="P1",
|
||||
text=text,
|
||||
parse_mode="HTML",
|
||||
)
|
||||
if _telegram_send_delivery_succeeded(delivery):
|
||||
logger.info(
|
||||
"rollback_proposal_sent",
|
||||
incident_id=incident_id,
|
||||
score=score,
|
||||
)
|
||||
else:
|
||||
logger.warning(
|
||||
"rollback_proposal_blocked_no_send",
|
||||
incident_id=incident_id,
|
||||
score=score,
|
||||
)
|
||||
except Exception:
|
||||
logger.warning(
|
||||
"rollback_proposal_send_failed",
|
||||
|
||||
Reference in New Issue
Block a user