mirror of
https://github.com/ansible/awx.git
synced 2026-04-06 18:49:21 -02:30
Switch Jinja2 environment for rendering before testing JSON to ImmutableSandboxedEnvironment
Render Jinja template before checking for valid JSON
This commit is contained in:
@@ -4480,7 +4480,10 @@ class NotificationTemplateSerializer(BaseSerializer):
|
|||||||
body = messages[event].get('body', {})
|
body = messages[event].get('body', {})
|
||||||
if body:
|
if body:
|
||||||
try:
|
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):
|
if not isinstance(potential_body, dict):
|
||||||
error_list.append(
|
error_list.append(
|
||||||
_("Webhook body for '{}' should be a json dictionary. Found type '{}'.".format(event, type(potential_body).__name__))
|
_("Webhook body for '{}' should be a json dictionary. Found type '{}'.".format(event, type(potential_body).__name__))
|
||||||
|
|||||||
Reference in New Issue
Block a user