From 94050b32da6fad38d9866218b817dbd9c5fdcf14 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 19 Mar 2026 07:45:30 +0000 Subject: [PATCH] Make alert_explanation optional in alert_explanation_enricher Allow users to configure the action with only recommended_resolution by making alert_explanation an Optional field. The enricher now skips blocks for fields that are not provided and returns early if neither field is set. https://claude.ai/code/session_01NBPvBVC2yxLR27xuV5snLX --- playbooks/robusta_playbooks/alerts_integration.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/playbooks/robusta_playbooks/alerts_integration.py b/playbooks/robusta_playbooks/alerts_integration.py index aae45fed6..021ebac52 100644 --- a/playbooks/robusta_playbooks/alerts_integration.py +++ b/playbooks/robusta_playbooks/alerts_integration.py @@ -189,7 +189,7 @@ class AlertExplanationParams(ActionParams): :var recommended_resolution: A recommended resolution for the alert """ - alert_explanation: str + alert_explanation: Optional[str] recommended_resolution: Optional[str] @@ -198,12 +198,15 @@ def alert_explanation_enricher(alert: PrometheusKubernetesAlert, params: AlertEx """ Enrich the finding an explanation and recommendation of how to resolve the issue """ - blocks = [MarkdownBlock(f"{Emojis.Explain.value} *Alert Explanation:* {params.alert_explanation}")] + blocks = [] + if params.alert_explanation: + blocks.append(MarkdownBlock(f"{Emojis.Explain.value} *Alert Explanation:* {params.alert_explanation}")) if params.recommended_resolution: - resolution_block = MarkdownBlock( - f"{Emojis.Recommend.value} *Robusta's Recommendation:* {params.recommended_resolution}" + blocks.append( + MarkdownBlock(f"{Emojis.Recommend.value} *Robusta's Recommendation:* {params.recommended_resolution}") ) - blocks.append(resolution_block) + if not blocks: + return alert.add_enrichment( blocks, annotations={SlackAnnotations.UNFURL: False},