fastlane 2.117.0.beta.20190228200006 → 2.117.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -815,12 +815,20 @@ module Spaceship
815
815
  if block_given?
816
816
  obj = Object.new
817
817
  class << obj
818
- attr_accessor :body, :headers, :params, :url
818
+ attr_accessor :body, :headers, :params, :url, :options
819
819
  # rubocop: disable Style/TrivialAccessors
820
820
  # the block calls `url` (not `url=`) so need to define `url` method
821
821
  def url(url)
822
822
  @url = url
823
823
  end
824
+
825
+ def options
826
+ options_obj = Object.new
827
+ class << options_obj
828
+ attr_accessor :params_encoder
829
+ end
830
+ options_obj
831
+ end
824
832
  # rubocop: enable Style/TrivialAccessors
825
833
  end
826
834
  obj.headers = {}
@@ -18,31 +18,221 @@ module Spaceship
18
18
  'https://appstoreconnect.apple.com/iris/v1/'
19
19
  end
20
20
 
21
- def build_url(path: nil, filter: nil, includes: nil, limit: nil, sort: nil)
22
- filters = filter.keys.map do |key|
23
- "&filter[#{key}]=#{filter[key]}"
24
- end.join("")
25
- return "#{path}?&include=#{includes}&limit=#{limit}&sort=#{sort}#{filters}"
21
+ def build_params(filter: nil, includes: nil, limit: nil, sort: nil)
22
+ params = {}
23
+
24
+ params[:filter] = filter if filter && !filter.empty?
25
+ params[:include] = includes if includes
26
+ params[:limit] = limit if limit
27
+ params[:sort] = sort if sort
28
+
29
+ return params
26
30
  end
27
31
 
28
- def get_builds(filter: {}, includes: "buildBetaDetail,betaBuildMetrics", limit: 10, sort: "uploadedDate")
29
- assert_required_params(__method__, binding)
32
+ def get_beta_app_review_detail(filter: {}, includes: nil, limit: nil, sort: nil)
33
+ # GET
34
+ # https://appstoreconnect.apple.com/iris/v1/betaAppReviewDetails?filter[app]=<app_id>
35
+ params = build_params(filter: filter, includes: includes, limit: limit, sort: sort)
36
+
37
+ response = request(:get, "betaAppReviewDetails") do |req|
38
+ req.options.params_encoder = Faraday::NestedParamsEncoder
39
+ req.params = params
40
+ end
41
+ handle_response(response)
42
+ end
43
+
44
+ def patch_beta_app_review_detail(app_id: nil, attributes: {})
45
+ # PATCH
46
+ # https://appstoreconnect.apple.com/iris/v1/apps/<app_id>/betaAppReviewDetails
47
+ path = "betaAppReviewDetails/#{app_id}"
48
+
49
+ body = {
50
+ data: {
51
+ attributes: attributes,
52
+ id: app_id,
53
+ type: "betaAppReviewDetails"
54
+ }
55
+ }
56
+
57
+ response = request(:patch) do |req|
58
+ req.url(path)
59
+ req.body = body.to_json
60
+ req.headers['Content-Type'] = 'application/json'
61
+ end
62
+ handle_response(response)
63
+ end
30
64
 
65
+ def get_beta_app_localizations(filter: {}, includes: nil, limit: nil, sort: nil)
31
66
  # GET
32
- # https://appstoreconnect.apple.com/iris/v1/builds
33
- url = build_url(path: "builds", filter: filter, includes: includes, limit: limit, sort: sort)
67
+ # https://appstoreconnect.apple.com/iris/v1/betaAppLocalizations?filter[app]=<app_id>
68
+ params = build_params(filter: filter, includes: includes, limit: limit, sort: sort)
69
+
70
+ response = request(:get, "betaAppLocalizations") do |req|
71
+ req.options.params_encoder = Faraday::NestedParamsEncoder
72
+ req.params = params
73
+ end
74
+ handle_response(response)
75
+ end
76
+
77
+ def get_beta_build_localizations(filter: {}, includes: nil, limit: nil, sort: nil)
78
+ # GET
79
+ # https://appstoreconnect.apple.com/iris/v1/betaBuildLocalizations?filter[build]=<build_id>
80
+ path = "betaBuildLocalizations"
81
+ params = build_params(filter: filter, includes: includes, limit: limit, sort: sort)
82
+
83
+ response = request(:get, path) do |req|
84
+ req.options.params_encoder = Faraday::NestedParamsEncoder
85
+ req.params = params
86
+ end
87
+ handle_response(response)
88
+ end
89
+
90
+ def post_beta_app_localizations(app_id: nil, attributes: {})
91
+ # POST
92
+ # https://appstoreconnect.apple.com/iris/v1/betaAppLocalizations
93
+ path = "betaAppLocalizations"
94
+
95
+ body = {
96
+ data: {
97
+ attributes: attributes,
98
+ type: "betaAppLocalizations",
99
+ relationships: {
100
+ app: {
101
+ data: {
102
+ type: "apps",
103
+ id: app_id
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
109
+
110
+ response = request(:post) do |req|
111
+ req.url(path)
112
+ req.body = body.to_json
113
+ req.headers['Content-Type'] = 'application/json'
114
+ end
115
+ handle_response(response)
116
+ end
117
+
118
+ def patch_beta_app_localizations(localization_id: nil, attributes: {})
119
+ # PATCH
120
+ # https://appstoreconnect.apple.com/iris/v1/apps/<app_id>/betaAppLocalizations/<localization_id>
121
+ path = "betaAppLocalizations/#{localization_id}"
122
+
123
+ body = {
124
+ data: {
125
+ attributes: attributes,
126
+ id: localization_id,
127
+ type: "betaAppLocalizations"
128
+ }
129
+ }
130
+
131
+ response = request(:patch) do |req|
132
+ req.url(path)
133
+ req.body = body.to_json
134
+ req.headers['Content-Type'] = 'application/json'
135
+ end
136
+ handle_response(response)
137
+ end
138
+
139
+ def post_beta_build_localizations(build_id: nil, attributes: {})
140
+ # POST
141
+ # https://appstoreconnect.apple.com/iris/v1/betaBuildLocalizations
142
+ path = "betaBuildLocalizations"
143
+
144
+ body = {
145
+ data: {
146
+ attributes: attributes,
147
+ type: "betaBuildLocalizations",
148
+ relationships: {
149
+ build: {
150
+ data: {
151
+ type: "builds",
152
+ id: build_id
153
+ }
154
+ }
155
+ }
156
+ }
157
+ }
34
158
 
35
- response = request(:get, url)
159
+ response = request(:post) do |req|
160
+ req.url(path)
161
+ req.body = body.to_json
162
+ req.headers['Content-Type'] = 'application/json'
163
+ end
36
164
  handle_response(response)
37
165
  end
38
166
 
39
- def post_for_testflight_review(build_id: nil)
40
- assert_required_params(__method__, binding)
167
+ def patch_beta_build_localizations(localization_id: nil, feedbackEmail: nil, attributes: {})
168
+ # PATCH
169
+ # https://appstoreconnect.apple.com/iris/v1/apps/<app_id>/betaBuildLocalizations
170
+ path = "betaBuildLocalizations/#{localization_id}"
171
+
172
+ body = {
173
+ data: {
174
+ attributes: attributes,
175
+ id: localization_id,
176
+ type: "betaBuildLocalizations"
177
+ }
178
+ }
179
+
180
+ response = request(:patch) do |req|
181
+ req.url(path)
182
+ req.body = body.to_json
183
+ req.headers['Content-Type'] = 'application/json'
184
+ end
185
+ handle_response(response)
186
+ end
187
+
188
+ def get_build_beta_details(filter: {}, includes: nil, limit: nil, sort: nil)
189
+ # GET
190
+ # https://appstoreconnect.apple.com/iris/v1/buildBetaDetails
191
+ params = build_params(filter: filter, includes: includes, limit: limit, sort: sort)
192
+
193
+ response = request(:get, "buildBetaDetails") do |req|
194
+ req.options.params_encoder = Faraday::NestedParamsEncoder
195
+ req.params = params
196
+ end
197
+ handle_response(response)
198
+ end
199
+
200
+ def patch_build_beta_details(build_beta_details_id: nil, attributes: {})
201
+ # PATCH
202
+ # https://appstoreconnect.apple.com/iris/v1/buildBetaDetails/<build_beta_details_id>
203
+ path = "buildBetaDetails/#{build_beta_details_id}"
204
+
205
+ body = {
206
+ data: {
207
+ attributes: attributes,
208
+ id: build_beta_details_id,
209
+ type: "buildBetaDetails"
210
+ }
211
+ }
212
+
213
+ response = request(:patch) do |req|
214
+ req.url(path)
215
+ req.body = body.to_json
216
+ req.headers['Content-Type'] = 'application/json'
217
+ end
218
+ handle_response(response)
219
+ end
220
+
221
+ def get_builds(filter: {}, includes: "buildBetaDetail,betaBuildMetrics", limit: 10, sort: "uploadedDate")
222
+ # GET
223
+ # https://appstoreconnect.apple.com/iris/v1/builds
224
+ params = build_params(filter: filter, includes: includes, limit: limit, sort: sort)
225
+
226
+ response = request(:get, "builds") do |req|
227
+ req.options.params_encoder = Faraday::NestedParamsEncoder
228
+ req.params = params
229
+ end
230
+ handle_response(response)
231
+ end
41
232
 
233
+ def post_beta_app_review_submissions(build_id: nil)
42
234
  # POST
43
235
  # https://appstoreconnect.apple.com/iris/v1/betaAppReviewSubmissions
44
- #
45
- # {"data":{"type":"betaAppReviewSubmissions","relationships":{"build":{"data":{"type":"builds","id":"6f90f04a-3b48-4d4a-9bbd-9475c294a579"}}}}}
46
236
 
47
237
  body = {
48
238
  data: {
metadata CHANGED
@@ -1,33 +1,33 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.117.0.beta.20190228200006
4
+ version: 2.117.0
5
5
  platform: ruby
6
6
  authors:
7
- - Jérôme Lacoste
8
- - Stefan Natchev
9
- - Kohki Miki
7
+ - Jorge Revuelta H
8
+ - Danielle Tomlinson
9
+ - Iulian Onofrei
10
+ - Manu Wallner
10
11
  - Aaron Brager
11
- - Felix Krause
12
- - Andrew McBurney
13
- - Jimmy Dee
14
- - Jan Piotrowski
12
+ - Josh Holtz
15
13
  - Matthew Ellis
14
+ - Olivier Halligon
15
+ - Jan Piotrowski
16
+ - Jérôme Lacoste
17
+ - Fumiya Nakamura
18
+ - Andrew McBurney
16
19
  - Joshua Liebowitz
17
- - Josh Holtz
20
+ - Jimmy Dee
18
21
  - Maksym Grebenets
19
- - Luka Mirosevic
20
- - Fumiya Nakamura
21
- - Manu Wallner
22
- - Iulian Onofrei
23
- - Olivier Halligon
24
22
  - Helmut Januschka
25
- - Jorge Revuelta H
26
- - Danielle Tomlinson
23
+ - Luka Mirosevic
24
+ - Kohki Miki
25
+ - Stefan Natchev
26
+ - Felix Krause
27
27
  autorequire:
28
28
  bindir: bin
29
29
  cert_chain: []
30
- date: 2019-02-28 00:00:00.000000000 Z
30
+ date: 2019-03-01 00:00:00.000000000 Z
31
31
  dependencies:
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: slack-notifier
@@ -966,6 +966,7 @@ files:
966
966
  - fastlane/lib/fastlane.rb
967
967
  - fastlane/lib/fastlane/action.rb
968
968
  - fastlane/lib/fastlane/action_collector.rb
969
+ - fastlane/lib/fastlane/actions/.slack.rb.swp
969
970
  - fastlane/lib/fastlane/actions/README.md
970
971
  - fastlane/lib/fastlane/actions/actions_helper.rb
971
972
  - fastlane/lib/fastlane/actions/adb.rb
@@ -1286,6 +1287,7 @@ files:
1286
1287
  - fastlane/swift/Fastlane.swift
1287
1288
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj
1288
1289
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
1290
+ - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate
1289
1291
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme
1290
1292
  - fastlane/swift/FastlaneSwiftRunner/README.txt
1291
1293
  - fastlane/swift/Gymfile.swift
@@ -1568,6 +1570,7 @@ files:
1568
1570
  - spaceship/lib/spaceship/client.rb
1569
1571
  - spaceship/lib/spaceship/commands_generator.rb
1570
1572
  - spaceship/lib/spaceship/connect_api.rb
1573
+ - spaceship/lib/spaceship/connect_api/.DS_Store
1571
1574
  - spaceship/lib/spaceship/connect_api/base.rb
1572
1575
  - spaceship/lib/spaceship/connect_api/client.rb
1573
1576
  - spaceship/lib/spaceship/du/du_client.rb
@@ -1600,6 +1603,7 @@ files:
1600
1603
  - spaceship/lib/spaceship/portal/provisioning_profile.rb
1601
1604
  - spaceship/lib/spaceship/portal/provisioning_profile_template.rb
1602
1605
  - spaceship/lib/spaceship/portal/spaceship.rb
1606
+ - spaceship/lib/spaceship/portal/ui/.select_team.rb.swp
1603
1607
  - spaceship/lib/spaceship/portal/ui/select_team.rb
1604
1608
  - spaceship/lib/spaceship/portal/website_push.rb
1605
1609
  - spaceship/lib/spaceship/provider.rb
@@ -1687,24 +1691,24 @@ metadata:
1687
1691
  post_install_message:
1688
1692
  rdoc_options: []
1689
1693
  require_paths:
1690
- - sigh/lib
1691
- - spaceship/lib
1694
+ - credentials_manager/lib
1695
+ - pem/lib
1692
1696
  - snapshot/lib
1693
- - supply/lib
1697
+ - frameit/lib
1694
1698
  - match/lib
1695
- - precheck/lib
1696
- - cert/lib
1697
- - scan/lib
1698
1699
  - fastlane_core/lib
1699
- - produce/lib
1700
- - frameit/lib
1701
- - pilot/lib
1702
- - pem/lib
1700
+ - deliver/lib
1701
+ - scan/lib
1702
+ - supply/lib
1703
+ - cert/lib
1703
1704
  - fastlane/lib
1704
- - credentials_manager/lib
1705
+ - spaceship/lib
1706
+ - pilot/lib
1705
1707
  - gym/lib
1708
+ - precheck/lib
1706
1709
  - screengrab/lib
1707
- - deliver/lib
1710
+ - sigh/lib
1711
+ - produce/lib
1708
1712
  required_ruby_version: !ruby/object:Gem::Requirement
1709
1713
  requirements:
1710
1714
  - - ">="
@@ -1712,12 +1716,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
1712
1716
  version: 2.0.0
1713
1717
  required_rubygems_version: !ruby/object:Gem::Requirement
1714
1718
  requirements:
1715
- - - ">"
1719
+ - - ">="
1716
1720
  - !ruby/object:Gem::Version
1717
- version: 1.3.1
1721
+ version: '0'
1718
1722
  requirements: []
1719
1723
  rubyforge_project:
1720
- rubygems_version: 2.6.8
1724
+ rubygems_version: 2.5.2.3
1721
1725
  signing_key:
1722
1726
  specification_version: 4
1723
1727
  summary: The easiest way to automate beta deployments and releases for your iOS and