bugsnag 2.7.0 → 2.7.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0d479bf3d15d3a4185dfca6ac8c399babd8a1f0f
4
- data.tar.gz: 6ea73f53d27cba623b393fea905a964b21b1e217
3
+ metadata.gz: 9d58304a346068abb5398be6aca9ab17cb57bca6
4
+ data.tar.gz: c74ff028120853a2ee7f1d74993ad1a76be33d00
5
5
  SHA512:
6
- metadata.gz: 27994f415bc764ddb82ef036549dc49eca2b05a66aa3a802a9163791d6da30cfe8594c5c81445047530e5a10c3cc76ce4fe76e5b8a141351a81a029d940c709c
7
- data.tar.gz: 61885434f5f97dae81e95db08405a8ae27c1076e3a2312ebd4234372845594f8ee3e8768865ad0b830d58545445a626e32a1efbc3659c8d7038b8f0a89daf1f9
6
+ metadata.gz: df1bb6f9345dd8809721bfd3f214340c30247e8988d20e45889142639c3bee75629dd787bb6bb26b9a10dfd90a127d5dd5e544f91e7c27b036d0879749320e29
7
+ data.tar.gz: 3ba9a85d663736f53205872adf576f1a5dda7436e23cddb5f5c4da01d32ea342cd699f3fedc7b6029c5100d7892c9f87617f87252592964ba4d4896eff15402f
@@ -1,6 +1,10 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 2.7.1
5
+ -----
6
+ - Add rake task to create a Heroku deploy hook
7
+
4
8
  2.7.0
5
9
  -----
6
10
  - Fix configuration of http timeouts
data/README.md CHANGED
@@ -627,6 +627,7 @@ end
627
627
 
628
628
  All errors with the same groupingHash will be grouped together within the bugsnag dashboard.
629
629
 
630
+
630
631
  Deploy Tracking
631
632
  ---------------
632
633
 
@@ -635,6 +636,15 @@ source revision or application version to bugsnag.com when you deploy a new
635
636
  version of your app, you'll be able to see which deploy each error was
636
637
  introduced in.
637
638
 
639
+ ### Using Heroku
640
+
641
+ You can easily add Bugsnag deploy tracking to your Heroku application by
642
+ running the following command:
643
+
644
+ ```shell
645
+ $ rake bugsnag:heroku:add_deploy_hook
646
+ ```
647
+
638
648
  ### Using Capistrano
639
649
 
640
650
  If you use [capistrano](https://github.com/capistrano/capistrano) to deploy
@@ -692,7 +702,9 @@ additional deploy information:
692
702
  For more information, check out the [deploy tracking api](https://bugsnag.com/docs/deploy-tracking-api)
693
703
  documentation.
694
704
 
695
- ### EventMachine Apps
705
+
706
+ EventMachine Apps
707
+ -----------------
696
708
 
697
709
  If your app uses [EventMachine](http://rubyeventmachine.com/) you'll need to
698
710
  manually notify Bugsnag of errors. There are two ways to do this in your
@@ -722,18 +734,21 @@ end
722
734
  For this to work, include [Deferrable](http://eventmachine.rubyforge.org/EventMachine/Deferrable.html)
723
735
  in your `MyServer`, then whenever you want to raise an error, call `fail`.
724
736
 
725
- ### Integrations
737
+ Integrations
738
+ ------------
726
739
 
727
740
  Bugsnag ruby works out of the box with Rails, Sidekiq, Resque, DelayedJob (3+), Mailman, Rake and Rack. It
728
741
  should be easy to add support for other frameworks, either by sending a pull request here or adding a hook
729
742
  to those projects.
730
743
 
744
+
731
745
  Demo Applications
732
746
  -----------------
733
747
 
734
748
  [There are demo applications that use the Bugsnag Ruby gem](https://github.com/bugsnag/bugsnag-example-apps/tree/master/apps/ruby):
735
749
  examples include Rails, Sinatra, Rack, Padrino integrations, etc.
736
750
 
751
+
737
752
  Reporting Bugs or Feature Requests
738
753
  ----------------------------------
739
754
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.7.0
1
+ 2.7.1
@@ -35,6 +35,47 @@ namespace :bugsnag do
35
35
  task :middleware => :load do
36
36
  Bugsnag.configuration.middleware.each {|m| puts m.to_s}
37
37
  end
38
+
39
+ namespace :heroku do
40
+ desc "Add a heroku deploy hook to notify Bugsnag of deploys"
41
+ task :add_deploy_hook => :load do
42
+ # Wrapper to run command safely even in bundler
43
+ run_command = lambda { |command|
44
+ defined?(Bundler.with_clean_env) ? Bundler.with_clean_env { `#{command}` } : `#{command}`
45
+ }
46
+
47
+ # Fetch heroku config settings
48
+ heroku_env = run_command.call("heroku config --shell").split.each_with_object({}) do |c, obj|
49
+ k,v = c.split("=")
50
+ obj[k] = v.strip.empty? ? nil : v
51
+ end
52
+
53
+ # Check for Bugsnag API key (required)
54
+ api_key = heroku_env["BUGSNAG_API_KEY"] || Bugsnag.configuration.api_key || ENV["BUGSNAG_API_KEY"]
55
+ unless api_key
56
+ puts "Error: No API key found, have you run 'heroku config:set BUGSNAG_API_KEY=your-api-key'?"
57
+ next
58
+ end
59
+
60
+ # Build the request, making use of deploy hook variables
61
+ # (https://devcenter.heroku.com/articles/deploy-hooks#customizing-messages)
62
+ params = {
63
+ :apiKey => api_key,
64
+ :branch => "master",
65
+ :revision => "{{head_long}}",
66
+ :releaseStage => heroku_env["RAILS_ENV"] || ENV["RAILS_ENV"] || "production"
67
+ }
68
+ repo = `git config --get remote.origin.url`.strip
69
+ params[:repository] = repo unless repo.empty?
70
+
71
+ # Add the hook
72
+ url = "https://notify.bugsnag.com/deploy?" + params.map {|k,v| "#{k}=#{v}"}.join("&")
73
+ command = "heroku addons:add deployhooks:http --url=\"#{url}\""
74
+
75
+ puts "$ #{command}"
76
+ run_command.call(command)
77
+ end
78
+ end
38
79
  end
39
80
 
40
81
  task :load do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bugsnag
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 2.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Smith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-02 00:00:00.000000000 Z
11
+ date: 2015-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json