fastlane 2.160.0 → 2.165.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +78 -78
  3. data/cert/lib/cert/options.rb +28 -1
  4. data/cert/lib/cert/runner.rb +51 -34
  5. data/deliver/lib/deliver/app_screenshot_iterator.rb +4 -4
  6. data/deliver/lib/deliver/module.rb +2 -0
  7. data/deliver/lib/deliver/options.rb +5 -5
  8. data/deliver/lib/deliver/queue_worker.rb +14 -29
  9. data/deliver/lib/deliver/upload_metadata.rb +20 -5
  10. data/deliver/lib/deliver/upload_screenshots.rb +28 -13
  11. data/fastlane/lib/fastlane/actions/.download_dsyms.rb.swp +0 -0
  12. data/fastlane/lib/fastlane/actions/actions_helper.rb +20 -1
  13. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +39 -3
  14. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +15 -1
  15. data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +1 -0
  16. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +2 -2
  17. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +2 -2
  18. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +1 -1
  19. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +2 -2
  20. data/fastlane/lib/fastlane/actions/docs/run_tests.md +2 -2
  21. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +12 -3
  22. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +2 -2
  23. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +1 -1
  24. data/fastlane/lib/fastlane/actions/download_dsyms.rb +1 -0
  25. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +13 -2
  26. data/fastlane/lib/fastlane/actions/get_certificates.rb +1 -0
  27. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +1 -0
  28. data/fastlane/lib/fastlane/actions/import_from_git.rb +9 -1
  29. data/fastlane/lib/fastlane/actions/is_ci.rb +1 -1
  30. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +15 -0
  31. data/fastlane/lib/fastlane/actions/register_device.rb +46 -5
  32. data/fastlane/lib/fastlane/actions/register_devices.rb +50 -16
  33. data/fastlane/lib/fastlane/actions/set_changelog.rb +31 -3
  34. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +1 -0
  35. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +3 -2
  36. data/fastlane/lib/fastlane/fast_file.rb +74 -23
  37. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +1 -0
  38. data/fastlane/lib/fastlane/version.rb +1 -1
  39. data/fastlane/swift/Deliverfile.swift +1 -1
  40. data/fastlane/swift/DeliverfileProtocol.swift +4 -4
  41. data/fastlane/swift/Fastlane.swift +120 -27
  42. data/fastlane/swift/Gymfile.swift +1 -1
  43. data/fastlane/swift/GymfileProtocol.swift +1 -1
  44. data/fastlane/swift/LaneFileProtocol.swift +28 -36
  45. data/fastlane/swift/MainProcess.swift +1 -1
  46. data/fastlane/swift/Matchfile.swift +1 -1
  47. data/fastlane/swift/MatchfileProtocol.swift +21 -5
  48. data/fastlane/swift/Precheckfile.swift +1 -1
  49. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  50. data/fastlane/swift/Scanfile.swift +1 -1
  51. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  52. data/fastlane/swift/Screengrabfile.swift +1 -1
  53. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  54. data/fastlane/swift/Snapshotfile.swift +1 -1
  55. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  56. data/fastlane/swift/main.swift +1 -1
  57. data/fastlane_core/lib/fastlane_core/analytics/analytics_session.rb +6 -7
  58. data/fastlane_core/lib/fastlane_core/device_manager.rb +8 -4
  59. data/fastlane_core/lib/fastlane_core/helper.rb +1 -1
  60. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +3 -3
  61. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +2 -2
  62. data/match/lib/match/generator.rb +6 -1
  63. data/match/lib/match/importer.rb +63 -18
  64. data/match/lib/match/migrate.rb +13 -2
  65. data/match/lib/match/nuke.rb +65 -22
  66. data/match/lib/match/options.rb +34 -3
  67. data/match/lib/match/runner.rb +38 -10
  68. data/match/lib/match/spaceship_ensure.rb +27 -21
  69. data/match/lib/match/storage/google_cloud_storage.rb +20 -3
  70. data/match/lib/match/storage/s3_storage.rb +19 -3
  71. data/scan/lib/scan/detect_values.rb +5 -8
  72. data/scan/lib/scan/runner.rb +2 -1
  73. data/sigh/lib/assets/resign.sh +1 -1
  74. data/sigh/lib/sigh/download_all.rb +16 -4
  75. data/sigh/lib/sigh/options.rb +21 -0
  76. data/sigh/lib/sigh/runner.rb +83 -41
  77. data/snapshot/lib/assets/SnapshotHelper.swift +4 -0
  78. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +2 -1
  79. data/spaceship/README.md +1 -1
  80. data/spaceship/lib/spaceship/client.rb +9 -4
  81. data/spaceship/lib/spaceship/connect_api.rb +27 -0
  82. data/spaceship/lib/spaceship/connect_api/api_client.rb +12 -3
  83. data/spaceship/lib/spaceship/connect_api/client.rb +20 -7
  84. data/spaceship/lib/spaceship/connect_api/models/app.rb +51 -0
  85. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +3 -1
  86. data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +2 -1
  87. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +42 -0
  88. data/spaceship/lib/spaceship/connect_api/models/custom_app_organization.rb +43 -0
  89. data/spaceship/lib/spaceship/connect_api/models/custom_app_user.rb +41 -0
  90. data/spaceship/lib/spaceship/connect_api/models/device.rb +5 -0
  91. data/spaceship/lib/spaceship/connect_api/models/profile.rb +7 -1
  92. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +59 -0
  93. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +45 -2
  94. data/spaceship/lib/spaceship/connect_api/spaceship.rb +7 -4
  95. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +13 -0
  96. data/spaceship/lib/spaceship/connect_api/token.rb +6 -1
  97. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +75 -1
  98. data/spaceship/lib/spaceship/connect_api/users/users.rb +40 -0
  99. data/spaceship/lib/spaceship/helper/net_http_generic_request.rb +11 -5
  100. data/supply/lib/supply/uploader.rb +1 -1
  101. metadata +19 -15
@@ -0,0 +1,59 @@
1
+ require_relative '../model'
2
+ module Spaceship
3
+ class ConnectAPI
4
+ class UserInvitation
5
+ include Spaceship::ConnectAPI::Model
6
+
7
+ attr_accessor :first_name
8
+ attr_accessor :last_name
9
+ attr_accessor :email
10
+ attr_accessor :roles
11
+ attr_accessor :all_apps_visible
12
+ attr_accessor :provisioning_allowed
13
+
14
+ attr_mapping({
15
+ "firstName" => "first_name",
16
+ "lastName" => "last_name",
17
+ "email" => "email",
18
+ "roles" => "roles",
19
+ "allAppsVisible" => "all_apps_visible",
20
+ "provisioningAllowed" => "provisioning_allowed"
21
+ })
22
+
23
+ module UserRole
24
+ ADMIN = "ADMIN"
25
+ FINANCE = "FINANCE"
26
+ TECHNICAL = "TECHNICAL"
27
+ SALES = "SALES"
28
+ MARKETING = "MARKETING"
29
+ DEVELOPER = "DEVELOPER"
30
+ ACCOUNT_HOLDER = "ACCOUNT_HOLDER"
31
+ READ_ONLY = "READ_ONLY"
32
+ APP_MANAGER = "APP_MANAGER"
33
+ ACCESS_TO_REPORTS = "ACCESS_TO_REPORTS"
34
+ CUSTOMER_SUPPORT = "CUSTOMER_SUPPORT"
35
+ end
36
+
37
+ def self.type
38
+ return "userInvitations"
39
+ end
40
+
41
+ #
42
+ # Managing invitations
43
+ #
44
+
45
+ def self.all(filter: {}, includes: nil, sort: nil)
46
+ resps = Spaceship::ConnectAPI.get_user_invitations(filter: filter, includes: includes, sort: sort).all_pages
47
+ return resps.flat_map(&:to_models)
48
+ end
49
+
50
+ def self.find(email: nil, includes: nil)
51
+ return all(filter: { email: email }, includes: includes)
52
+ end
53
+
54
+ def delete!
55
+ Spaceship::ConnectAPI.delete_user_invitation(user_invitation_id: id)
56
+ end
57
+ end
58
+ end
59
+ end
@@ -36,13 +36,56 @@ module Spaceship
36
36
  provisioning_request_client.get("certificates", params)
37
37
  end
38
38
 
39
+ def get_certificate(certificate_id: nil, includes: nil)
40
+ params = provisioning_request_client.build_params(filter: nil, includes: includes, limit: nil, sort: nil)
41
+ provisioning_request_client.get("certificates/#{certificate_id}", params)
42
+ end
43
+
44
+ def post_certificate(attributes: {})
45
+ body = {
46
+ data: {
47
+ attributes: attributes,
48
+ type: "certificates"
49
+ }
50
+ }
51
+
52
+ provisioning_request_client.post("certificates", body)
53
+ end
54
+
55
+ def delete_certificate(certificate_id: nil)
56
+ raise "Certificate id is nil" if certificate_id.nil?
57
+
58
+ provisioning_request_client.delete("certificates/#{certificate_id}")
59
+ end
60
+
39
61
  #
40
62
  # devices
41
63
  #
42
64
 
43
- def get_devices(filter: {}, includes: nil, limit: nil, sort: nil)
65
+ def get_devices(profile_id: nil, filter: {}, includes: nil, limit: nil, sort: nil)
44
66
  params = provisioning_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
45
- provisioning_request_client.get("devices", params)
67
+ if profile_id.nil?
68
+ provisioning_request_client.get("devices", params)
69
+ else
70
+ provisioning_request_client.get("profiles/#{profile_id}/devices", params)
71
+ end
72
+ end
73
+
74
+ def post_device(name: nil, platform: nil, udid: nil)
75
+ attributes = {
76
+ name: name,
77
+ platform: platform,
78
+ udid: udid
79
+ }
80
+
81
+ body = {
82
+ data: {
83
+ attributes: attributes,
84
+ type: "devices"
85
+ }
86
+ }
87
+
88
+ provisioning_request_client.post("devices", body)
46
89
  end
47
90
 
48
91
  #
@@ -44,20 +44,23 @@ module Spaceship
44
44
 
45
45
  # Initializes client with Apple's App Store Connect JWT auth key.
46
46
  #
47
- # This method will automatically use the key id, issuer id, and filepath from environment
47
+ # This method will automatically use the arguments from environment
48
48
  # variables if not given.
49
49
  #
50
- # All three parameters are needed to authenticate.
50
+ # The key_id, issuer_id and either filepath or key are needed to authenticate.
51
51
  #
52
52
  # @param key_id (String) (optional): The key id
53
53
  # @param issuer_id (String) (optional): The issuer id
54
54
  # @param filepath (String) (optional): The filepath
55
+ # @param key (String) (optional): The key
56
+ # @param duration (Integer) (optional): How long this session should last
57
+ # @param in_house (Boolean) (optional): Whether this session is an Enterprise one
55
58
  #
56
59
  # @raise InvalidUserCredentialsError: raised if authentication failed
57
60
  #
58
61
  # @return (Spaceship::ConnectAPI::Client) The client the login method was called for
59
- def auth(key_id: nil, issuer_id: nil, filepath: nil)
60
- @client = ConnectAPI::Client.auth(key_id: key_id, issuer_id: issuer_id, filepath: filepath)
62
+ def auth(key_id: nil, issuer_id: nil, filepath: nil, key: nil, duration: nil, in_house: nil)
63
+ @client = ConnectAPI::Client.auth(key_id: key_id, issuer_id: issuer_id, filepath: filepath, key: key, duration: duration, in_house: in_house)
61
64
  end
62
65
 
63
66
  # Authenticates with Apple's web services. This method has to be called once
@@ -277,6 +277,19 @@ module Spaceship
277
277
  test_flight_request_client.delete("betaTesters/#{beta_tester_id}/relationships/betaGroups", nil, body)
278
278
  end
279
279
 
280
+ def delete_beta_testers_from_app(beta_tester_ids: [], app_id: nil)
281
+ body = {
282
+ data: beta_tester_ids.map do |id|
283
+ {
284
+ type: "betaTesters",
285
+ id: id
286
+ }
287
+ end
288
+ }
289
+
290
+ test_flight_request_client.delete("apps/#{app_id}/relationships/betaTesters", nil, body)
291
+ end
292
+
280
293
  #
281
294
  # betaTesterMetrics
282
295
  #
@@ -1,4 +1,5 @@
1
1
  require 'jwt'
2
+ require 'base64'
2
3
  require 'openssl'
3
4
 
4
5
  # extract pem from .p8
@@ -39,7 +40,7 @@ module Spaceship
39
40
  self.create(json)
40
41
  end
41
42
 
42
- def self.create(key_id: nil, issuer_id: nil, filepath: nil, key: nil, duration: nil, in_house: nil)
43
+ def self.create(key_id: nil, issuer_id: nil, filepath: nil, key: nil, is_key_content_base64: false, duration: nil, in_house: nil)
43
44
  key_id ||= ENV['SPACESHIP_CONNECT_API_KEY_ID']
44
45
  issuer_id ||= ENV['SPACESHIP_CONNECT_API_ISSUER_ID']
45
46
  filepath ||= ENV['SPACESHIP_CONNECT_API_KEY_FILEPATH']
@@ -51,6 +52,10 @@ module Spaceship
51
52
  key ||= ENV['SPACESHIP_CONNECT_API_KEY']
52
53
  key ||= File.binread(filepath)
53
54
 
55
+ if !key.nil? && is_key_content_base64
56
+ key = Base64.decode64(key)
57
+ end
58
+
54
59
  self.new(
55
60
  key_id: key_id,
56
61
  issuer_id: issuer_id,
@@ -185,9 +185,12 @@ module Spaceship
185
185
  type: "apps",
186
186
  id: app_id
187
187
  }
188
- data[:attributes] = attributes unless attributes.empty?
189
188
  data[:relationships] = relationships unless relationships.empty?
190
189
 
190
+ if !attributes.nil? && !attributes.empty?
191
+ data[:attributes] = attributes
192
+ end
193
+
191
194
  # Body
192
195
  body = {
193
196
  data: data
@@ -887,6 +890,77 @@ module Spaceship
887
890
  tunes_request_client.post("appStoreVersionReleaseRequests", body)
888
891
  end
889
892
 
893
+ #
894
+ # customAppUsers
895
+ #
896
+
897
+ def get_custom_app_users(app_id: nil, filter: nil, includes: nil, limit: nil, sort: nil)
898
+ params = tunes_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
899
+ tunes_request_client.get("apps/#{app_id}/customAppUsers", params)
900
+ end
901
+
902
+ def post_custom_app_user(app_id: nil, apple_id: nil)
903
+ body = {
904
+ data: {
905
+ type: "customAppUsers",
906
+ attributes: {
907
+ appleId: apple_id
908
+ },
909
+ relationships: {
910
+ app: {
911
+ data: {
912
+ type: "apps",
913
+ id: app_id
914
+ }
915
+ }
916
+ }
917
+ }
918
+ }
919
+
920
+ tunes_request_client.post("customAppUsers", body)
921
+ end
922
+
923
+ def delete_custom_app_user(custom_app_user_id: nil)
924
+ params = tunes_request_client.build_params(filter: nil, includes: nil, limit: nil, sort: nil)
925
+ tunes_request_client.delete("customAppUsers/#{custom_app_user_id}", params)
926
+ end
927
+
928
+ #
929
+ # customOrganizationUsers
930
+ #
931
+
932
+ def get_custom_app_organization(app_id: nil, filter: nil, includes: nil, limit: nil, sort: nil)
933
+ params = tunes_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
934
+ tunes_request_client.get("apps/#{app_id}/customAppOrganizations", params)
935
+ end
936
+
937
+ def post_custom_app_organization(app_id: nil, device_enrollment_program_id: nil, name: nil)
938
+ body = {
939
+ data: {
940
+ type: "customAppOrganizations",
941
+ attributes: {
942
+ deviceEnrollmentProgramId: device_enrollment_program_id,
943
+ name: name
944
+ },
945
+ relationships: {
946
+ app: {
947
+ data: {
948
+ type: "apps",
949
+ id: app_id
950
+ }
951
+ }
952
+ }
953
+ }
954
+ }
955
+
956
+ tunes_request_client.post("customAppOrganizations", body)
957
+ end
958
+
959
+ def delete_custom_app_organization(custom_app_organization_id: nil)
960
+ params = tunes_request_client.build_params(filter: nil, includes: nil, limit: nil, sort: nil)
961
+ tunes_request_client.delete("customAppOrganizations/#{custom_app_organization_id}", params)
962
+ end
963
+
890
964
  #
891
965
  # idfaDeclarations
892
966
  #
@@ -17,11 +17,18 @@ module Spaceship
17
17
  # users
18
18
  #
19
19
 
20
+ # Get list of users
20
21
  def get_users(filter: {}, includes: nil, limit: nil, sort: nil)
21
22
  params = users_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
22
23
  users_request_client.get("users", params)
23
24
  end
24
25
 
26
+ # Delete existing user
27
+ def delete_user(user_id: nil)
28
+ users_request_client.delete("users/#{user_id}")
29
+ end
30
+
31
+ # Change app permissions for user
25
32
  def add_user_visible_apps(user_id: nil, app_ids: nil)
26
33
  body = {
27
34
  data: app_ids.map do |app_id|
@@ -34,6 +41,39 @@ module Spaceship
34
41
 
35
42
  users_request_client.post("users/#{user_id}/relationships/visibleApps", body)
36
43
  end
44
+
45
+ #
46
+ # invitations (invited users)
47
+ #
48
+
49
+ # Get all invited users (not yet accepted)
50
+ def get_user_invitations(filter: {}, includes: nil, limit: nil, sort: nil)
51
+ params = users_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
52
+ users_request_client.get("userInvitations", params)
53
+ end
54
+
55
+ # 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)
57
+ body = {
58
+ data: {
59
+ type: "userInvitations",
60
+ attributes: {
61
+ email: email,
62
+ firstName: first_name,
63
+ lastName: last_name,
64
+ roles: roles,
65
+ provisioningAllowed: provisioning_allowed,
66
+ allAppsVisible: all_apps_visible
67
+ }
68
+ }
69
+ }
70
+ users_request_client.post("userInvitations", body)
71
+ end
72
+
73
+ # Remove invited user from team (not yet accepted)
74
+ def delete_user_invitation(user_invitation_id: nil)
75
+ users_request_client.delete("userInvitations/#{user_invitation_id}")
76
+ end
37
77
  end
38
78
  end
39
79
  end
@@ -5,10 +5,16 @@ require 'net/http'
5
5
  # Certain apple endpoints return 415 responses if a Content-Type is supplied.
6
6
  # Net::HTTP will default a content-type if none is provided by faraday
7
7
  # This monkey-patch allows us to leave out the content-type if we do not specify one.
8
- module Net
9
- class HTTPGenericRequest
10
- def supply_default_content_type
11
- return if content_type
12
- end
8
+ module NetHTTPGenericRequestMonkeypatch
9
+ def supply_default_content_type
10
+ # Return no content type if we communicating with an apple.com domain
11
+ return if !self['host'].nil? && self['host'].end_with?('.apple.com')
12
+
13
+ # Otherwise use the default implementation
14
+ super
13
15
  end
14
16
  end
17
+
18
+ # We prepend the monkeypatch so the patch has access to the original implementation
19
+ # using `super`.
20
+ Net::HTTPGenericRequest.prepend(NetHTTPGenericRequestMonkeypatch)
@@ -111,7 +111,7 @@ module Supply
111
111
  releases = track.releases
112
112
 
113
113
  releases = releases.select { |r| r.status == status } if status
114
- releases = releases.select { |r| r.version_codes.map(&:to_s).include?(version_code.to_s) } if version_code
114
+ releases = releases.select { |r| (r.version_codes || []).map(&:to_s).include?(version_code.to_s) } if version_code
115
115
 
116
116
  if releases.size > 1
117
117
  UI.user_error!("More than one release found in this track. Please specify with the :version_code option to select a release.")
metadata CHANGED
@@ -1,35 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.160.0
4
+ version: 2.165.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jorge Revuelta H
8
- - Helmut Januschka
8
+ - Matthew Ellis
9
9
  - Felix Krause
10
- - Kohki Miki
11
- - Joshua Liebowitz
12
- - Manu Wallner
13
- - Max Ott
10
+ - Josh Holtz
11
+ - Danielle Tomlinson
14
12
  - Jérôme Lacoste
13
+ - Kohki Miki
14
+ - Maksym Grebenets
15
+ - Aaron Brager
15
16
  - Jimmy Dee
17
+ - Max Ott
16
18
  - Luka Mirosevic
17
- - Matthew Ellis
18
- - Maksym Grebenets
19
- - Josh Holtz
19
+ - Manu Wallner
20
20
  - Jan Piotrowski
21
21
  - Stefan Natchev
22
- - Daniel Jankowski
23
- - Olivier Halligon
24
- - Danielle Tomlinson
25
- - Fumiya Nakamura
26
- - Aaron Brager
27
22
  - Andrew McBurney
23
+ - Fumiya Nakamura
28
24
  - Iulian Onofrei
25
+ - Olivier Halligon
26
+ - Joshua Liebowitz
27
+ - Daniel Jankowski
28
+ - Helmut Januschka
29
29
  autorequire:
30
30
  bindir: bin
31
31
  cert_chain: []
32
- date: 2020-09-16 00:00:00.000000000 Z
32
+ date: 2020-10-23 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: slack-notifier
@@ -983,6 +983,7 @@ files:
983
983
  - fastlane/lib/fastlane/.erb_template_helper.rb.swp
984
984
  - fastlane/lib/fastlane/action.rb
985
985
  - fastlane/lib/fastlane/action_collector.rb
986
+ - fastlane/lib/fastlane/actions/.download_dsyms.rb.swp
986
987
  - fastlane/lib/fastlane/actions/.git_commit.rb.swp
987
988
  - fastlane/lib/fastlane/actions/README.md
988
989
  - fastlane/lib/fastlane/actions/actions_helper.rb
@@ -1654,6 +1655,8 @@ files:
1654
1655
  - spaceship/lib/spaceship/connect_api/models/bundle_id.rb
1655
1656
  - spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb
1656
1657
  - spaceship/lib/spaceship/connect_api/models/certificate.rb
1658
+ - spaceship/lib/spaceship/connect_api/models/custom_app_organization.rb
1659
+ - spaceship/lib/spaceship/connect_api/models/custom_app_user.rb
1657
1660
  - spaceship/lib/spaceship/connect_api/models/device.rb
1658
1661
  - spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb
1659
1662
  - spaceship/lib/spaceship/connect_api/models/pre_release_version.rb
@@ -1662,6 +1665,7 @@ files:
1662
1665
  - spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb
1663
1666
  - spaceship/lib/spaceship/connect_api/models/territory.rb
1664
1667
  - spaceship/lib/spaceship/connect_api/models/user.rb
1668
+ - spaceship/lib/spaceship/connect_api/models/user_invitation.rb
1665
1669
  - spaceship/lib/spaceship/connect_api/provisioning/client.rb
1666
1670
  - spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb
1667
1671
  - spaceship/lib/spaceship/connect_api/response.rb