campfire_service.rb
1.11 KB
if defined? Campy
class NotificationServices::CampfireService < NotificationService
LABEL = "campfire"
FIELDS += [
[:subdomain, {
label: "Subdomain",
placeholder: "subdomain from http://{{subdomain}}.campfirenow.com"
}],
[:api_token, {
label: "API Token",
placeholder: "123456789abcdef123456789abcdef"
}],
[:room_id, {
label: "Room ID",
placeholder: "123456"
}]
]
def check_params
if FIELDS.detect { |f| self[f[0]].blank? }
errors.add :base, 'You must specify your Campfire Subdomain, API token and Room ID'
end
end
def url
"http://#{subdomain}.campfirenow.com/"
end
def create_notification(problem)
# build the campfire client
campy = Campy::Room.new(account: subdomain, token: api_token, room_id: room_id)
# post the issue to the campfire room
campy.speak "[errbit] #{problem.app.name} #{notification_description problem} - #{Errbit::Config.protocol}://#{Errbit::Config.host}/apps/#{problem.app.id}/problems/#{problem.id}"
end
end
end