Merge pull request #12306 from ansible/10961-webhook-notification-does-not-allow-for-use-of-jinja-statements

Duplication of PR of Jinga 2 Rendering
This commit is contained in:
Jessica Steurer 2022-06-13 09:38:42 -03:00 committed by GitHub
commit ea3a8d4912
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4478,7 +4478,10 @@ class NotificationTemplateSerializer(BaseSerializer):
body = messages[event].get('body', {})
if body:
try:
potential_body = json.loads(body)
rendered_body = (
sandbox.ImmutableSandboxedEnvironment(undefined=DescriptiveUndefined).from_string(body).render(JobNotificationMixin.context_stub())
)
potential_body = json.loads(rendered_body)
if not isinstance(potential_body, dict):
error_list.append(
_("Webhook body for '{}' should be a json dictionary. Found type '{}'.".format(event, type(potential_body).__name__))