0
0
Fork 0
mirror of https://github.com/alerta/alerta-contrib.git synced 2025-03-16 21:43:30 +00:00
alerta_alerta-contrib/webhooks/mailgun/alerta_mailgun.py
Anton 623bfdd4ec Incoming email using mailgun (#199)
* Incoming email using mailgun

* Fallback if mailgun failed to parse as plain text

* Revert "Fallback if mailgun failed to parse as plain text"

This reverts commit 998a3f54b9.

*  Fallback if mailgun failed to parse as plain text

* Timestamp is not UTC so can't be converted to alert timestamp
2018-07-11 22:51:08 +02:00

39 lines
1 KiB
Python

from alerta.models.alert import Alert
from alerta.webhooks import WebhookBase
import json
import datetime
class MailgunWebhook(WebhookBase):
def incoming(self, query_string, payload):
# Load variables from querystring
try:
environment = query_string['environment']
except:
environment = 'Production'
try:
severity = query_string['severity']
except:
severity = 'major'
try:
group = query_string['group']
except:
group = 'Email'
return Alert(
resource=payload['sender'],
type='Email Alert',
event=payload['subject'],
environment=environment,
severity=severity,
service=['Email'],
group=group,
text=payload['stripped-text'] or payload['body-plain'],
tags=[],
attributes={},
origin='Mailgun/{}'.format(payload['recipient']),
raw_data=json.dumps(payload, indent=4)
)