diff --git a/engine/apps/api/serializers/alert_receive_channel.py b/engine/apps/api/serializers/alert_receive_channel.py index c7de4f7c..fd7851ba 100644 --- a/engine/apps/api/serializers/alert_receive_channel.py +++ b/engine/apps/api/serializers/alert_receive_channel.py @@ -220,6 +220,7 @@ class AlertReceiveChannelTemplatesSerializer(EagerLoadingMixin, serializers.Mode ] payload_example = SerializerMethodField() + is_based_on_alertmanager = SerializerMethodField() class Meta: model = AlertReceiveChannel @@ -227,6 +228,7 @@ class AlertReceiveChannelTemplatesSerializer(EagerLoadingMixin, serializers.Mode "id", "verbal_name", "payload_example", + "is_based_on_alertmanager", ] extra_kwargs = {"integration": {"required": True}} @@ -246,6 +248,9 @@ class AlertReceiveChannelTemplatesSerializer(EagerLoadingMixin, serializers.Mode except AttributeError: return None + def get_is_based_on_alertmanager(self, obj): + return obj.has_alertmanager_payload_structure + # Override method to pass field_name directly in set_value to handle None values for WritableSerializerField def to_internal_value(self, data): """ diff --git a/engine/apps/api/tests/test_alert_receive_channel_template.py b/engine/apps/api/tests/test_alert_receive_channel_template.py index e00f75b9..4c134855 100644 --- a/engine/apps/api/tests/test_alert_receive_channel_template.py +++ b/engine/apps/api/tests/test_alert_receive_channel_template.py @@ -365,6 +365,7 @@ def test_update_alert_receive_channel_templates( del existing_templates_data["id"] del existing_templates_data["verbal_name"] del existing_templates_data["payload_example"] + del existing_templates_data["is_based_on_alertmanager"] # update each template new_templates_data = {}