bugsnag 2.7.0 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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