From 201cc687bf0e7bb2261dadc35985701e23c5a476 Mon Sep 17 00:00:00 2001 From: Lee Chagolla-Christensen Date: Fri, 27 Jun 2025 11:19:46 -0700 Subject: [PATCH] fix alerting feedback link --- projects/alerting/alerting/main.py | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/projects/alerting/alerting/main.py b/projects/alerting/alerting/main.py index 0e555c2..0e8660b 100644 --- a/projects/alerting/alerting/main.py +++ b/projects/alerting/alerting/main.py @@ -141,7 +141,7 @@ async def handle_feedback_subscription(): # Construct markdown message message_parts = [] object_id = feedback["object_id"] - nemesis_file_url = f"{nemesis_url}files?object_id={object_id}" + nemesis_file_url = f"{nemesis_url}files/{object_id}" message_parts.append(f"*object_id:* <{nemesis_file_url}|{object_id}>") message_parts.append(f"*user*: {feedback['username']}") @@ -158,12 +158,7 @@ async def handle_feedback_subscription(): logger.info(f"Nemesis feedback: {body}") # Create an Alert object and process it through the rate-limited handler - alert = Alert( - title="Nemesis Feedback", - body=body, - tag="feedback", - service="feedback" - ) + alert = Alert(title="Nemesis Feedback", body=body, tag="feedback", service="feedback") # Use the send_alert function but handle the result specifically for feedback success = await send_alert_with_retries(alert) @@ -241,11 +236,7 @@ async def send_alert_with_retries(alert): if alert.service: title = f"[{alert.service}] {alert.title}" - kwargs = { - "body": alert.body, - "title": title, - "notify_type": apprise.NotifyType.WARNING - } + kwargs = {"body": alert.body, "title": title, "notify_type": apprise.NotifyType.WARNING} if alert.tag: kwargs["tag"] = alert.tag @@ -263,17 +254,12 @@ async def send_alert_with_retries(alert): return True retry_count += 1 - logger.warning( - f"Failed to send alert, retrying ({retry_count}/{MAX_ALERT_RETRIES})", - title=title - ) + logger.warning(f"Failed to send alert, retrying ({retry_count}/{MAX_ALERT_RETRIES})", title=title) await asyncio.sleep(RETRY_DELAY_SECONDS) except Exception as e: retry_count += 1 logger.error( - f"Error sending alert, retrying ({retry_count}/{MAX_ALERT_RETRIES})", - error=str(e), - title=title + f"Error sending alert, retrying ({retry_count}/{MAX_ALERT_RETRIES})", error=str(e), title=title ) await asyncio.sleep(RETRY_DELAY_SECONDS) @@ -305,4 +291,4 @@ async def handle_alert(event: CloudEvent[Alert]): @app.api_route("/healthz", methods=["GET", "HEAD"]) async def healthcheck(): """Health check endpoint for Docker healthcheck.""" - return {"status": "healthy"} \ No newline at end of file + return {"status": "healthy"}