fastlane 2.189.0 → 2.190.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +92 -92
  3. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +1 -1
  4. data/fastlane/lib/fastlane/actions/bundle_install.rb +13 -1
  5. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +25 -1
  6. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +2 -2
  7. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +2 -2
  8. data/fastlane/lib/fastlane/actions/zip.rb +86 -22
  9. data/fastlane/lib/fastlane/version.rb +1 -1
  10. data/fastlane/swift/Deliverfile.swift +1 -1
  11. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  12. data/fastlane/swift/Fastlane.swift +44 -10
  13. data/fastlane/swift/Gymfile.swift +1 -1
  14. data/fastlane/swift/GymfileProtocol.swift +1 -1
  15. data/fastlane/swift/Matchfile.swift +1 -1
  16. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  17. data/fastlane/swift/Precheckfile.swift +1 -1
  18. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  19. data/fastlane/swift/Scanfile.swift +1 -1
  20. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  21. data/fastlane/swift/Screengrabfile.swift +1 -1
  22. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  23. data/fastlane/swift/Snapshotfile.swift +1 -1
  24. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  25. data/fastlane/swift/formatting/Brewfile.lock.json +3 -3
  26. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +11 -4
  27. data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +1 -0
  28. data/scan/lib/scan/xcpretty_reporter_options_generator.rb +1 -1
  29. data/sigh/lib/sigh/options.rb +2 -1
  30. data/spaceship/lib/spaceship/client.rb +6 -0
  31. data/spaceship/lib/spaceship/connect_api/models/user.rb +17 -3
  32. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +26 -5
  33. data/spaceship/lib/spaceship/connect_api/testflight/client.rb +3 -0
  34. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +39 -0
  35. data/spaceship/lib/spaceship/connect_api/token.rb +2 -1
  36. data/spaceship/lib/spaceship/connect_api/tunes/client.rb +3 -0
  37. data/spaceship/lib/spaceship/connect_api/users/client.rb +3 -0
  38. data/spaceship/lib/spaceship/connect_api/users/users.rb +24 -2
  39. data/spaceship/lib/spaceship/tunes/tunes_client.rb +3 -0
  40. metadata +21 -21
@@ -11,6 +11,9 @@ module Spaceship
11
11
 
12
12
  super(cookie: cookie, current_team_id: current_team_id, token: token, another_client: another_client)
13
13
 
14
+ # Used by most iris requests starting in July 2021
15
+ @additional_headers = { 'x-csrf-itc': '[asc-ui]' } if another_client
16
+
14
17
  self.extend(Spaceship::ConnectAPI::TestFlight::API)
15
18
  self.test_flight_request_client = self
16
19
  end
@@ -191,6 +191,19 @@ module Spaceship
191
191
  test_flight_request_client.post("builds/#{build_id}/relationships/betaGroups", body)
192
192
  end
193
193
 
194
+ def delete_beta_groups_from_build(build_id: nil, beta_group_ids: [])
195
+ body = {
196
+ data: beta_group_ids.map do |id|
197
+ {
198
+ type: "betaGroups",
199
+ id: id
200
+ }
201
+ end
202
+ }
203
+
204
+ test_flight_request_client.delete("builds/#{build_id}/relationships/betaGroups", nil, body)
205
+ end
206
+
194
207
  def create_beta_group(app_id: nil, group_name: nil, public_link_enabled: false, public_link_limit: 10_000, public_link_limit_enabled: false)
195
208
  body = {
196
209
  data: {
@@ -340,6 +353,32 @@ module Spaceship
340
353
  test_flight_request_client.post("betaTesters/#{beta_tester_id}/relationships/builds", body)
341
354
  end
342
355
 
356
+ def add_beta_testers_to_build(build_id: nil, beta_tester_ids: [])
357
+ body = {
358
+ data: beta_tester_ids.map do |id|
359
+ {
360
+ type: "betaTesters",
361
+ id: id
362
+ }
363
+ end
364
+ }
365
+
366
+ test_flight_request_client.post("builds/#{build_id}/relationships/individualTesters", body)
367
+ end
368
+
369
+ def delete_beta_testers_from_build(build_id: nil, beta_tester_ids: [])
370
+ body = {
371
+ data: beta_tester_ids.map do |id|
372
+ {
373
+ type: "betaTesters",
374
+ id: id
375
+ }
376
+ end
377
+ }
378
+
379
+ test_flight_request_client.delete("builds/#{build_id}/relationships/individualTesters", nil, body)
380
+ end
381
+
343
382
  #
344
383
  # betaTesterMetrics
345
384
  #
@@ -13,6 +13,7 @@ module Spaceship
13
13
  class Token
14
14
  # maximum expiration supported by AppStore (20 minutes)
15
15
  MAX_TOKEN_DURATION = 1200
16
+ DEFAULT_TOKEN_DURATION = 500
16
17
 
17
18
  attr_reader :key_id
18
19
  attr_reader :issuer_id
@@ -80,7 +81,7 @@ module Spaceship
80
81
  @duration = duration
81
82
  @in_house = in_house
82
83
 
83
- @duration ||= MAX_TOKEN_DURATION
84
+ @duration ||= DEFAULT_TOKEN_DURATION
84
85
  @duration = @duration.to_i if @duration
85
86
 
86
87
  refresh!
@@ -11,6 +11,9 @@ module Spaceship
11
11
 
12
12
  super(cookie: cookie, current_team_id: current_team_id, token: token, another_client: another_client)
13
13
 
14
+ # Used by most iris requests starting in July 2021
15
+ @additional_headers = { 'x-csrf-itc': '[asc-ui]' } if another_client
16
+
14
17
  self.extend(Spaceship::ConnectAPI::Tunes::API)
15
18
  self.tunes_request_client = self
16
19
  end
@@ -11,6 +11,9 @@ module Spaceship
11
11
 
12
12
  super(cookie: cookie, current_team_id: current_team_id, token: token, another_client: another_client)
13
13
 
14
+ # Used by most iris requests starting in July 2021
15
+ @additional_headers = { 'x-csrf-itc': '[asc-ui]' } if another_client
16
+
14
17
  self.extend(Spaceship::ConnectAPI::Users::API)
15
18
  self.users_request_client = self
16
19
  end
@@ -42,18 +42,24 @@ module Spaceship
42
42
  users_request_client.post("users/#{user_id}/relationships/visibleApps", body)
43
43
  end
44
44
 
45
+ # Get app permissions for user
46
+ def get_user_visible_apps(user_id: id, limit: nil)
47
+ params = users_request_client.build_params(filter: {}, includes: nil, limit: limit, sort: nil)
48
+ users_request_client.get("users/#{user_id}/visibleApps", params)
49
+ end
50
+
45
51
  #
46
52
  # invitations (invited users)
47
53
  #
48
54
 
49
- # Get all invited users (not yet accepted)
55
+ # Get all invited users
50
56
  def get_user_invitations(filter: {}, includes: nil, limit: nil, sort: nil)
51
57
  params = users_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
52
58
  users_request_client.get("userInvitations", params)
53
59
  end
54
60
 
55
61
  # Invite new users to App Store Connect
56
- def post_user_invitation(email: nil, first_name: nil, last_name: nil, roles: [], provisioning_allowed: nil, all_apps_visible: nil)
62
+ def post_user_invitation(email: nil, first_name: nil, last_name: nil, roles: [], provisioning_allowed: nil, all_apps_visible: nil, visible_app_ids: [])
57
63
  body = {
58
64
  data: {
59
65
  type: "userInvitations",
@@ -64,6 +70,16 @@ module Spaceship
64
70
  roles: roles,
65
71
  provisioningAllowed: provisioning_allowed,
66
72
  allAppsVisible: all_apps_visible
73
+ },
74
+ relationships: {
75
+ visibleApps: {
76
+ data: visible_app_ids.map do |id|
77
+ {
78
+ id: id,
79
+ type: "apps"
80
+ }
81
+ end
82
+ }
67
83
  }
68
84
  }
69
85
  }
@@ -74,6 +90,12 @@ module Spaceship
74
90
  def delete_user_invitation(user_invitation_id: nil)
75
91
  users_request_client.delete("userInvitations/#{user_invitation_id}")
76
92
  end
93
+
94
+ # Get all app permissions for invited user
95
+ def get_user_invitation_visible_apps(user_invitation_id: id, limit: nil)
96
+ params = users_request_client.build_params(filter: {}, includes: nil, limit: limit, sort: nil)
97
+ users_request_client.get("userInvitations/#{user_invitation_id}/visibleApps", params)
98
+ end
77
99
  end
78
100
  end
79
101
  end
@@ -24,6 +24,9 @@ module Spaceship
24
24
  super
25
25
 
26
26
  @du_client = DUClient.new
27
+
28
+ # Used by most WebObjects requests starting in July 2021
29
+ @additional_headers = { 'x-csrf-itc': 'itc' }
27
30
  end
28
31
 
29
32
  class << self
metadata CHANGED
@@ -1,38 +1,38 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.189.0
4
+ version: 2.190.0
5
5
  platform: ruby
6
6
  authors:
7
- - Jan Piotrowski
8
- - Aaron Brager
9
- - Iulian Onofrei
10
- - Satoshi Namai
11
- - Andrew McBurney
7
+ - Helmut Januschka
8
+ - Jérôme Lacoste
12
9
  - Max Ott
13
- - Jimmy Dee
14
- - Josh Holtz
15
10
  - Daniel Jankowski
16
- - Danielle Tomlinson
17
- - Joshua Liebowitz
18
- - Matthew Ellis
19
- - Manu Wallner
20
- - Kohki Miki
21
- - Jorge Revuelta H
22
- - Olivier Halligon
23
- - Manish Rathi
11
+ - Stefan Natchev
24
12
  - Luka Mirosevic
25
- - Felix Krause
13
+ - Jorge Revuelta H
14
+ - Kohki Miki
26
15
  - Maksym Grebenets
27
- - Helmut Januschka
28
- - Jérôme Lacoste
29
- - Stefan Natchev
16
+ - Joshua Liebowitz
17
+ - Matthew Ellis
30
18
  - Roger Oba
19
+ - Josh Holtz
20
+ - Jimmy Dee
21
+ - Satoshi Namai
22
+ - Danielle Tomlinson
31
23
  - Fumiya Nakamura
24
+ - Olivier Halligon
25
+ - Manu Wallner
26
+ - Jan Piotrowski
27
+ - Aaron Brager
28
+ - Iulian Onofrei
29
+ - Andrew McBurney
30
+ - Felix Krause
31
+ - Manish Rathi
32
32
  autorequire:
33
33
  bindir: bin
34
34
  cert_chain: []
35
- date: 2021-07-28 00:00:00.000000000 Z
35
+ date: 2021-08-03 00:00:00.000000000 Z
36
36
  dependencies:
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: xcodeproj