Tweak pagerduty colors and log all payloads

This commit is contained in:
Abel Luck 2022-07-22 14:32:49 +00:00
parent f4a36a3ce7
commit 29757b2e7d
2 changed files with 14 additions and 4 deletions

View file

@ -4,9 +4,10 @@ from typing import Any, Tuple
def urgency_color(urgency: str) -> str:
if urgency == "high":
return "#dc3545"
return "#dc3545" # red
else:
return "#17a2b8"
return "#ffc107" # orange
# return "#17a2b8" # blue
def parse_pagerduty_event(payload: Any) -> Tuple[str, str]:
@ -29,13 +30,18 @@ def parse_pagerduty_event(payload: Any) -> Tuple[str, str]:
service_name: str = data["service"]["summary"]
urgency: str = data.get("urgency", "high")
plain = f"{status}: on {service_name}: {title} {url}"
formatted = f"<strong><font color={urgency_color(urgency)}>{status.upper()}</font></strong> on {service_name}: [{title}]({url})"
header_str = f"{status.upper()}[{urgency}]"
if status == "resolved":
color = "#33cc33" # green
else:
color = urgency_color(urgency)
formatted = f"<strong><font color={color}>{header_str}</font></strong> on {service_name}: [{title}]({url})"
return plain, formatted
payload_str = json.dumps(payload, sort_keys=True, indent=2)
return (
"unhandled",
f"""**unhandled pager duty event**
f"""**unhandled pager duty event** (this may or may not be a critical problem, please look carefully)
<pre><code class="language-json">{payload_str}</code></pre>
""",
)