heroku_deployer 0.7.21 → 0.7.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +5 -5
  2. data/lib/amitree/heroku_client.rb +24 -0
  3. metadata +31 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 752fb24f5602e61b9b79d088e4af84ab4ce44894
4
- data.tar.gz: 228deb30594b9686cf969d782e175504aa23788d
2
+ SHA256:
3
+ metadata.gz: 411e82bb0c5c27b5662fcf857140ecd54f4eb5b81df40bb76383f02973cc2ebd
4
+ data.tar.gz: d3e50eb0fe9819a7e2da1e0bbf71e23b196c56705112a7dc9755b2bceb866c7d
5
5
  SHA512:
6
- metadata.gz: f3acc34e43638026b0204469bbe73ec96cd3f63e51279c2f6330c9d1a9b6524a1d88a7ebe850b76888a187f71b21de40b1d07b455c650d71077bdc3649d897a8
7
- data.tar.gz: f84360ef509828550feafe0eedfb6dabb10c63b6c7eadd7ac41e06d9ba47d723f2dd76e214f4bda00a5bbd3163b2e2f7a775bfb386c329ddd8852ab24b545e44
6
+ metadata.gz: 40cd47e60c1d6f655b5774edb72e86fae8c6986f3014960481169dd679eca489125c1b920f3c2e7a83392a089ad02127cd626c53742ea7a5b51ddfdc43723660
7
+ data.tar.gz: 85c5501158ecd8e61d193c7a45c3078cf3ba4eff1b2c508f7f45e3c45990be206c711e88defd20c42e4bf471530dab11f4629830746e1a7db503e8aa048cd0c4
@@ -1,5 +1,7 @@
1
1
  require 'platform-api'
2
2
  require 'rendezvous'
3
+ require 'faraday'
4
+ require 'faraday_middleware'
3
5
 
4
6
  module Amitree
5
7
  class HerokuClient
@@ -10,6 +12,7 @@ module Amitree
10
12
  end
11
13
 
12
14
  def initialize(api_key, staging_app_name, production_app_name)
15
+ @api_key = api_key
13
16
  @heroku = PlatformAPI.connect(api_key)
14
17
  @staging_app_name = staging_app_name
15
18
  @production_app_name = production_app_name
@@ -89,6 +92,17 @@ module Amitree
89
92
  "v#{release['version']}"
90
93
  end
91
94
 
95
+ def review_app_info(branch_name)
96
+ pipeline_id = @heroku.pipeline_coupling.info_by_app(@staging_app_name)['pipeline']['id']
97
+
98
+ # The current version of platform-api does not include the review-apps API
99
+ review_apps = connection.get("https://api.heroku.com/pipelines/#{pipeline_id}/review-apps").body
100
+
101
+ review_apps
102
+ .select { |review_app| review_app['branch'] == branch_name }
103
+ .map { |review_app| { pr_number: review_app['pr_number'], endpoint: @heroku.app.info(review_app['app']['id'])['web_url'].chomp('/') } }
104
+ end
105
+
92
106
  private
93
107
  def get_releases(app_name)
94
108
  @heroku.release.list(app_name)
@@ -103,5 +117,15 @@ module Amitree
103
117
  write.close
104
118
  puts "Done."
105
119
  end
120
+
121
+ def connection
122
+ @connection ||= Faraday.new do |conn|
123
+ conn.authorization :Bearer, @api_key
124
+ conn.headers['Accept'] = 'application/vnd.heroku+json; version=3'
125
+ conn.response :raise_error
126
+ conn.response :json
127
+ conn.adapter Faraday.default_adapter
128
+ end
129
+ end
106
130
  end
107
131
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heroku_deployer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.21
4
+ version: 0.7.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Wargnier
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-03-07 00:00:00.000000000 Z
12
+ date: 2020-04-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -81,6 +81,34 @@ dependencies:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: 0.0.2
84
+ - !ruby/object:Gem::Dependency
85
+ name: faraday
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: 0.17.3
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: 0.17.3
98
+ - !ruby/object:Gem::Dependency
99
+ name: faraday_middleware
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: 0.14.0
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: 0.14.0
84
112
  - !ruby/object:Gem::Dependency
85
113
  name: pivotal-tracker
86
114
  requirement: !ruby/object:Gem::Requirement
@@ -127,10 +155,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
155
  - !ruby/object:Gem::Version
128
156
  version: '0'
129
157
  requirements: []
130
- rubyforge_project:
131
- rubygems_version: 2.6.8
158
+ rubygems_version: 3.0.6
132
159
  signing_key:
133
160
  specification_version: 4
134
161
  summary: Heroku Deployer
135
162
  test_files: []
136
- has_rdoc: