text: 
  import datetime
  import logging
  import os
  from op5 import OP5
  
  try:
      from alerta.plugins import app  # alerta >= 5.0
  except ImportError:
      from alerta.app import app  # alerta < 5.0
  from alerta.app import db
  from alerta.plugins import PluginBase
  
  LOG = logging.getLogger('alerta.plugins.op5')
  
  DEFAULT_OP5_API_URL = 'https://demo.op5.com/api'
  
  OP5_API_URL = os.environ.get('OP5_API_URL') or app.config.get('OP5_API_URL', None)
  OP5_API_USERNAME = os.environ.get('OP5_API_USERNAME') or app.config.get('OP5_API_USERNAME', '')
  OP5_API_PASSWORD = os.environ.get('OP5_API_PASSWORD') or app.config.get('OP5_API_PASSWORD', '')
  
  
  class OP5Acknowledge(PluginBase):
  
      def pre_receive(self, alert):
          return alert
  
      def post_receive(self, alert):
          return
  
      def status_change(self, alert, status, text):
  
          if alert.event_type not in ('op5ServiceAlert', 'op5HostAlert'):
              return
  
          if alert.status == status:
              return
  
          if status == 'ack':
              json_data = {"sticky":"1","notify":"0","persistent":"1","comment": text}
              if alert.event_type == 'op5ServiceAlert':
                  command_type = 'ACKNOWLEDGE_SVC_PROBLEM'
                  json_data["host_name"] = alert.resource
                  json_data["service_description"] = alert.event
              if alert.event_type == 'op5HostAlert':
                  command_type = 'ACKNOWLEDGE_HOST_PROBLEM'
                  json_data["host_name"] = alert.resource
              
              op5 = OP5(OP5_API_URL, OP5_API_USERNAME, OP5_API_PASSWORD, dryrun=False, debug=False, logtofile=False, interactive=False)
              op5.command(command_type, json_data)
  