import logging from alerta.plugins import PluginBase LOG = logging.getLogger('alerta.plugins.enhance') RUNBOOK_URL = 'http://www.example.com/wiki/RunBook' # example only class EnhanceAlert(PluginBase): def pre_receive(self, alert): LOG.info("Enhancing alert...") # Set "isOutOfHours" flag for later use by notification plugins dayOfWeek = alert.create_time.strftime('%a') hourOfDay = alert.create_time.hour if dayOfWeek in ['Sat', 'Sun'] or 8 > hourOfDay > 18: alert.attributes['isOutOfHours'] = True else: alert.attributes['isOutOfHours'] = False # Add link to Run Book based on event name alert.attributes['runBookUrl'] = '%s/%s' % (RUNBOOK_URL, alert.event.replace(' ', '-')) return alert def post_receive(self, alert): return def status_change(self, alert, status, text): return