Return is_based_on_alertmanager for alert_receive_channel in private api (#1782)

# What this PR does

## Which issue(s) this PR fixes

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [ ] Documentation added (or `pr:no public docs` PR label added if not
required)
- [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not
required)
This commit is contained in:
Ildar Iskhakov 2023-04-20 13:49:25 +08:00 committed by GitHub
parent 1bd157f7f3
commit 21aaa14076
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 0 deletions

View file

@ -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):
"""

View file

@ -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 = {}