mirror of
https://github.com/ansible/awx.git
synced 2026-03-05 18:51:06 -03:30
Enable approval-related email notifications to send properly
This commit is contained in:
@@ -6,15 +6,23 @@ class CustomNotificationBase(object):
|
|||||||
DEFAULT_MSG = "{{ job_friendly_name }} #{{ job.id }} '{{ job.name }}' {{ job.status }}: {{ url }}"
|
DEFAULT_MSG = "{{ job_friendly_name }} #{{ job.id }} '{{ job.name }}' {{ job.status }}: {{ url }}"
|
||||||
DEFAULT_BODY = "{{ job_friendly_name }} #{{ job.id }} had status {{ job.status }}, view details at {{ url }}\n\n{{ job_metadata }}"
|
DEFAULT_BODY = "{{ job_friendly_name }} #{{ job.id }} had status {{ job.status }}, view details at {{ url }}\n\n{{ job_metadata }}"
|
||||||
|
|
||||||
|
DEFAULT_APPROVAL_RUNNING_MSG = "The approval node '{{ approval_node_name }}' needs review. This node can be viewed at: {{ workflow_url }}"
|
||||||
|
DEFAULT_APPROVAL_RUNNING_BODY = "'{{ approval_node_name }}' needs review. This approval node can be viewed at: {{ workflow_url }}\n\n{{ job_metadata }}"
|
||||||
|
|
||||||
|
DEFAULT_APPROVAL_APPROVED_MSG = "The approval node '{{ approval_node_name }}' was approved. {{ workflow_url }}"
|
||||||
|
DEFAULT_APPROVAL_APPROVED_BODY = "The approval node '{{ approval_node_name }}' was approved. {{ workflow_url }}\n\n{{ job_metadata }}"
|
||||||
|
|
||||||
|
DEFAULT_APPROVAL_TIMEOUT_MSG = "The approval node '{{ approval_node_name }}' has timed out. {{ workflow_url }}"
|
||||||
|
DEFAULT_APPROVAL_TIMEOUT_BODY = "The approval node '{{ approval_node_name }}' has timed out. {{ workflow_url }}\n\n{{ job_metadata }}"
|
||||||
|
|
||||||
|
DEFAULT_APPROVAL_DENIED_MSG = "The approval node '{{ approval_node_name }}' was denied. {{ workflow_url }}"
|
||||||
|
DEFAULT_APPROVAL_DENIED_BODY = "The approval node '{{ approval_node_name }}' was denied. {{ workflow_url }}\n\n{{ job_metadata }}"
|
||||||
|
|
||||||
|
|
||||||
default_messages = {"started": {"message": DEFAULT_MSG, "body": None},
|
default_messages = {"started": {"message": DEFAULT_MSG, "body": None},
|
||||||
"success": {"message": DEFAULT_MSG, "body": None},
|
"success": {"message": DEFAULT_MSG, "body": None},
|
||||||
"error": {"message": DEFAULT_MSG, "body": None},
|
"error": {"message": DEFAULT_MSG, "body": None},
|
||||||
"workflow_approval": {"running": {"message": 'The approval node "{{ approval_node_name }}" needs review. '
|
"workflow_approval": {"running": {"message": DEFAULT_APPROVAL_RUNNING_MSG, "body": None},
|
||||||
'This node can be viewed at: {{ workflow_url }}',
|
"approved": {"message": DEFAULT_APPROVAL_APPROVED_MSG, "body": None},
|
||||||
"body": None},
|
"timed_out": {"message": DEFAULT_APPROVAL_TIMEOUT_MSG, "body": None},
|
||||||
"approved": {"message": 'The approval node "{{ approval_node_name }}" was approved. {{ workflow_url }}',
|
"denied": {"message": DEFAULT_APPROVAL_DENIED_MSG, "body": None}}}
|
||||||
"body": None},
|
|
||||||
"timed_out": {"message": 'The approval node "{{ approval_node_name }}" has timed out. {{ workflow_url }}',
|
|
||||||
"body": None},
|
|
||||||
"denied": {"message": 'The approval node "{{ approval_node_name }}" was denied. {{ workflow_url }}',
|
|
||||||
"body": None}}}
|
|
||||||
|
|||||||
@@ -8,6 +8,18 @@ from awx.main.notifications.custom_notification_base import CustomNotificationBa
|
|||||||
DEFAULT_MSG = CustomNotificationBase.DEFAULT_MSG
|
DEFAULT_MSG = CustomNotificationBase.DEFAULT_MSG
|
||||||
DEFAULT_BODY = CustomNotificationBase.DEFAULT_BODY
|
DEFAULT_BODY = CustomNotificationBase.DEFAULT_BODY
|
||||||
|
|
||||||
|
DEFAULT_APPROVAL_RUNNING_MSG = CustomNotificationBase.DEFAULT_APPROVAL_RUNNING_MSG
|
||||||
|
DEFAULT_APPROVAL_RUNNING_BODY = CustomNotificationBase.DEFAULT_APPROVAL_RUNNING_BODY
|
||||||
|
|
||||||
|
DEFAULT_APPROVAL_APPROVED_MSG = CustomNotificationBase.DEFAULT_APPROVAL_APPROVED_MSG
|
||||||
|
DEFAULT_APPROVAL_APPROVED_BODY = CustomNotificationBase.DEFAULT_APPROVAL_APPROVED_BODY
|
||||||
|
|
||||||
|
DEFAULT_APPROVAL_TIMEOUT_MSG = CustomNotificationBase.DEFAULT_APPROVAL_TIMEOUT_MSG
|
||||||
|
DEFAULT_APPROVAL_TIMEOUT_BODY = CustomNotificationBase.DEFAULT_APPROVAL_TIMEOUT_BODY
|
||||||
|
|
||||||
|
DEFAULT_APPROVAL_DENIED_MSG = CustomNotificationBase.DEFAULT_APPROVAL_DENIED_MSG
|
||||||
|
DEFAULT_APPROVAL_DENIED_BODY = CustomNotificationBase.DEFAULT_APPROVAL_DENIED_BODY
|
||||||
|
|
||||||
|
|
||||||
class CustomEmailBackend(EmailBackend, CustomNotificationBase):
|
class CustomEmailBackend(EmailBackend, CustomNotificationBase):
|
||||||
|
|
||||||
@@ -26,10 +38,10 @@ class CustomEmailBackend(EmailBackend, CustomNotificationBase):
|
|||||||
default_messages = {"started": {"message": DEFAULT_MSG, "body": DEFAULT_BODY},
|
default_messages = {"started": {"message": DEFAULT_MSG, "body": DEFAULT_BODY},
|
||||||
"success": {"message": DEFAULT_MSG, "body": DEFAULT_BODY},
|
"success": {"message": DEFAULT_MSG, "body": DEFAULT_BODY},
|
||||||
"error": {"message": DEFAULT_MSG, "body": DEFAULT_BODY},
|
"error": {"message": DEFAULT_MSG, "body": DEFAULT_BODY},
|
||||||
"workflow_approval": {"running": {"message": DEFAULT_MSG, "body": DEFAULT_BODY},
|
"workflow_approval": {"running": {"message": DEFAULT_APPROVAL_RUNNING_MSG, "body": DEFAULT_APPROVAL_RUNNING_BODY},
|
||||||
"approved": {"message": DEFAULT_MSG, "body": DEFAULT_BODY},
|
"approved": {"message": DEFAULT_APPROVAL_APPROVED_MSG, "body": DEFAULT_APPROVAL_APPROVED_BODY},
|
||||||
"timed_out": {"message": DEFAULT_MSG, "body": DEFAULT_BODY},
|
"timed_out": {"message": DEFAULT_APPROVAL_TIMEOUT_MSG, "body": DEFAULT_APPROVAL_TIMEOUT_BODY},
|
||||||
"denied": {"message": DEFAULT_MSG, "body": DEFAULT_BODY}}}
|
"denied": {"message": DEFAULT_APPROVAL_DENIED_MSG, "body": DEFAULT_APPROVAL_DENIED_BODY}}}
|
||||||
|
|
||||||
def format_body(self, body):
|
def format_body(self, body):
|
||||||
# leave body unchanged (expect a string)
|
# leave body unchanged (expect a string)
|
||||||
|
|||||||
Reference in New Issue
Block a user