diff --git a/ops_bot/alertmanager.py b/ops_bot/alertmanager.py
index fb2a175..6015dab 100644
--- a/ops_bot/alertmanager.py
+++ b/ops_bot/alertmanager.py
@@ -1,3 +1,4 @@
+import logging
from typing import Any, Dict, List, Tuple
from fastapi import Request
@@ -26,12 +27,15 @@ def prometheus_alert_to_markdown(
"""
messages = []
ignore_labels = ["grafana_folder"]
+
+ logging.debug(f"alertmanager payload: {alert_data}")
for alert in alert_data["alerts"]:
title = (
alert["annotations"]["description"]
if hasattr(alert["annotations"], "description")
else alert["annotations"]["summary"]
)
+ logging.debug(f"processing alert: '{title}'")
labels = alert.get("labels", {})
severity = labels.get("severity", "unknown")
status = alert.get("status", "unknown-status")
@@ -40,12 +44,19 @@ def prometheus_alert_to_markdown(
else:
color = severity_colors.get(severity, COLOR_UNKNOWN)
- generatorURL = alert.get("generatorURL")
plain = f"{status.upper()}[{severity}]: {title}"
header_str = f"{status.upper()}[{severity}]"
- formatted = f"{header_str}: [{title}]({generatorURL})"
+ url = alert.get("generatorURL")
+ if url and url != "":
+ title_linked = f"[{title}]({url})"
+ else:
+ title_linked = title
+ formatted = (
+ f"{header_str}: {title_linked}"
+ )
label_strings = []
for label_name, label_value in labels.items():
+ logging.debug("got label: ", label_name, label_value)
if label_name.startswith("__"):
continue
if label_name in ignore_labels: