Sha256: c0de841e07c77825aa7258b12bcf9beafe9bcab0c8c33eed5aee906d460df155

Contents?: true

Size: 1.08 KB

Versions: 4

Compression:

Stored size: 1.08 KB

Contents

require 'net/http'
require 'rubygems'
require 'json'

namespace :rollbar do

  desc 'Send the deployment notification to Rollbar.'
  task :deploy do
    uri    = URI.parse 'https://api.rollbar.com/api/1/deploy/'
    params = {
      :local_username => fetch(:rollbar_user),
      :access_token   => fetch(:rollbar_token),
      :environment    => fetch(:rollbar_env),
      :revision       => fetch(:current_revision) }

    request      = Net::HTTP::Post.new(uri.request_uri)
    request.body = JSON.dump(params)

    Net::HTTP.start(uri.host, uri.port, :use_ssl => true) do |http|
      http.request(request)
    end

    # this is not the right way to output to capistrano's log..
    puts 'Rollbar notification complete.'
  end
end

namespace :deploy do
  after 'deploy:finished', 'rollbar:deploy'
end

namespace :load do
  task :defaults do
    set :rollbar_user,  Proc.new { ENV['USER'] || ENV['USERNAME'] }
    set :rollbar_env,   Proc.new { fetch :rails_env, 'production' }
    set :rollbar_token, Proc.new { abort "Please specify the Rollbar access token, set :rollbar_token, 'your token'" }
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rollbar-0.12.17 lib/rollbar/tasks/rollbar.cap
rollbar-0.12.16 lib/rollbar/tasks/rollbar.cap
rollbar-0.12.15 lib/rollbar/tasks/rollbar.cap
rollbar-0.12.14 lib/rollbar/tasks/rollbar.cap