UNPKG

bugsnag-notification-plugins

Version:

Notification plugins (chat and issue tracking integrations) for Bugsnag.

51 lines (40 loc) 1.46 kB
NotificationPlugin = require "../../notification-plugin" class LiquidPlanner extends NotificationPlugin BASE_URL = "https://app.liquidplanner.com" description = (event) -> """ <pre> #{event.trigger.message} in #{event.project.name} *#{event.error.exceptionClass}* in *#{event.error.context}* #{event.error.message if event.error.message} Stacktrace: #{NotificationPlugin.basicStacktrace(event.error.stacktrace)} </pre> """ @receiveEvent: (config, event, callback) -> return if event?.trigger?.type == "reopened" # Build the task info. payload = task: name: "#{event.error.exceptionClass} in #{event.error.context} from Bugsnag" note: note: description(event) link: title: "Bugsnag entry" url: "#{event.error.url}" config.host = BASE_URL unless config.host # Send the request @request .post(config.host + "/api/workspaces/" + config.space_id + "/tasks") .timeout(4000) .auth(config.email, config.password) .set('Accept', 'application/json') .send(payload) .on "error", (err) -> callback(err) .end (res) -> return callback({status: res.error.status, message: res.error.message, body: res.body}) if res.error callback null, id: res.body.id url: config.host + "/space/"+config.space_id+"/projects/show/" + res.body.id module.exports = LiquidPlanner