From cc3fdab8fb17fca6fb0aabeb282050a6413ed666 Mon Sep 17 00:00:00 2001 From: Michael Derynck Date: Thu, 19 Jan 2023 22:50:22 +0000 Subject: [PATCH] Fix UnboundLocalError in webhooks (#1165) Fix error where rendered_data was being used without being defined. --- engine/apps/alerts/models/custom_button.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/engine/apps/alerts/models/custom_button.py b/engine/apps/alerts/models/custom_button.py index 9cbee4a5..399036e0 100644 --- a/engine/apps/alerts/models/custom_button.py +++ b/engine/apps/alerts/models/custom_button.py @@ -111,13 +111,12 @@ class CustomButton(models.Model): alert_payload=self._escape_alert_payload(alert.raw_request_data), alert_group_id=alert.group.public_primary_key, ) + try: + post_kwargs["json"] = json.loads(rendered_data) + except JSONDecodeError: + post_kwargs["data"] = rendered_data except (JinjaTemplateError, JinjaTemplateWarning) as e: post_kwargs["json"] = {"error": e.fallback_message} - - try: - post_kwargs["json"] = json.loads(rendered_data) - except JSONDecodeError: - post_kwargs["data"] = rendered_data return post_kwargs def _escape_alert_payload(self, payload: dict):