Source code for kibitzr.notifier.mailgun
from .webhook import WebHookNotify, webhook_factory
from ..conf import settings
[docs]class MailgunNotify(WebHookNotify):
CREDS_KEY = 'mailgun'
def __init__(self, conf, value, **kwargs):
self.mailgun_creds = settings().creds.get('mailgun', {})
self.mailgun_creds.update(value or {})
domain = self.mailgun_creds['domain']
self.context = {
'subject': f"Kibitzr update for {conf['name']}",
'from': f'Kibitzr <mailgun@{domain}>',
'to': [self.mailgun_creds['to']],
}
super().__init__(conf=conf, value=value, **kwargs)
[docs] def load_url(self, creds_key, value):
return f"https://api.mailgun.net/v3/{self.mailgun_creds['domain']}/messages"
[docs] def payload(self, report):
return dict(
self.context,
text=report,
)
notify_factory = webhook_factory(MailgunNotify)