def send_pagerduty_event(opts = {})
          event = { 'service_key'  => opts[:service_key],
                    'incident_key' => opts[:incident_key],
                    'event_type'   => opts[:event_type],
                    'description'  => opts[:description] }

          uri = URI::HTTPS.build(:host => 'events.pagerduty.com',
                                 :path => '/generic/2010-04-15/create_event.json',
                                 :port => 443)
          http = Net::HTTP.new(uri.host, uri.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_PEER
          request = Net::HTTP::Post.new(uri.request_uri)
          request.body = Flapjack.dump_json(event)
          http_response = http.request(request)

          response = Flapjack.load_json(http_response.body)
          status   = http_response.code
          Flapjack.logger.debug "send_pagerduty_event got a return code of #{status} - #{response.inspect}"
          [status, response]
        end
TODO trap Oj JSON errors
FIXME common code with the pagerduty gateway, move to shared module