fastlane 2.126.0.beta.20190606200048 → 2.126.0.beta.20190607200028

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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +1 -1
  3. data/fastlane/lib/fastlane/version.rb +1 -1
  4. data/fastlane_core/lib/fastlane_core/build_watcher.rb +3 -4
  5. data/pilot/lib/pilot/build_manager.rb +7 -7
  6. data/pilot/lib/pilot/manager.rb +2 -2
  7. data/pilot/lib/pilot/tester_exporter.rb +3 -3
  8. data/pilot/lib/pilot/tester_manager.rb +2 -2
  9. data/spaceship/lib/spaceship/connect_api.rb +2 -17
  10. data/spaceship/lib/spaceship/connect_api/{models/model.rb → model.rb} +5 -4
  11. data/spaceship/lib/spaceship/connect_api/response.rb +4 -7
  12. data/spaceship/lib/spaceship/connect_api/testflight/base.rb +41 -0
  13. data/spaceship/lib/spaceship/connect_api/testflight/client.rb +553 -0
  14. data/spaceship/lib/spaceship/connect_api/testflight/models/app.rb +99 -0
  15. data/spaceship/lib/spaceship/connect_api/testflight/models/beta_app_localization.rb +30 -0
  16. data/spaceship/lib/spaceship/connect_api/testflight/models/beta_app_review_detail.rb +34 -0
  17. data/spaceship/lib/spaceship/connect_api/testflight/models/beta_app_review_submission.rb +28 -0
  18. data/spaceship/lib/spaceship/connect_api/testflight/models/beta_build_localization.rb +22 -0
  19. data/spaceship/lib/spaceship/connect_api/testflight/models/beta_build_metric.rb +26 -0
  20. data/spaceship/lib/spaceship/connect_api/testflight/models/beta_group.rb +43 -0
  21. data/spaceship/lib/spaceship/connect_api/testflight/models/beta_tester.rb +58 -0
  22. data/spaceship/lib/spaceship/connect_api/testflight/models/beta_tester_metric.rb +45 -0
  23. data/spaceship/lib/spaceship/connect_api/testflight/models/build.rb +146 -0
  24. data/spaceship/lib/spaceship/connect_api/testflight/models/build_beta_detail.rb +58 -0
  25. data/spaceship/lib/spaceship/connect_api/testflight/models/build_delivery.rb +38 -0
  26. data/spaceship/lib/spaceship/connect_api/testflight/models/pre_release_version.rb +22 -0
  27. data/spaceship/lib/spaceship/connect_api/testflight/models/user.rb +52 -0
  28. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +27 -0
  29. data/spaceship/lib/spaceship/test_flight/build.rb +3 -3
  30. data/spaceship/lib/spaceship/test_flight/build_trains.rb +1 -1
  31. metadata +34 -33
  32. data/spaceship/lib/spaceship/connect_api/base.rb +0 -39
  33. data/spaceship/lib/spaceship/connect_api/client.rb +0 -551
  34. data/spaceship/lib/spaceship/connect_api/models/app.rb +0 -97
  35. data/spaceship/lib/spaceship/connect_api/models/beta_app_localization.rb +0 -28
  36. data/spaceship/lib/spaceship/connect_api/models/beta_app_review_detail.rb +0 -32
  37. data/spaceship/lib/spaceship/connect_api/models/beta_app_review_submission.rb +0 -26
  38. data/spaceship/lib/spaceship/connect_api/models/beta_build_localization.rb +0 -20
  39. data/spaceship/lib/spaceship/connect_api/models/beta_build_metric.rb +0 -24
  40. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +0 -41
  41. data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +0 -56
  42. data/spaceship/lib/spaceship/connect_api/models/beta_tester_metric.rb +0 -43
  43. data/spaceship/lib/spaceship/connect_api/models/build.rb +0 -144
  44. data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +0 -56
  45. data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +0 -36
  46. data/spaceship/lib/spaceship/connect_api/models/pre_release_version.rb +0 -20
  47. data/spaceship/lib/spaceship/connect_api/models/user.rb +0 -50
@@ -1,97 +0,0 @@
1
- require_relative './model'
2
- require_relative './build'
3
-
4
- module Spaceship
5
- module ConnectAPI
6
- class App
7
- include Spaceship::ConnectAPI::Model
8
-
9
- attr_accessor :name
10
- attr_accessor :bundle_id
11
- attr_accessor :sku
12
- attr_accessor :primary_locale
13
- attr_accessor :removed
14
- attr_accessor :is_aag
15
-
16
- self.attr_mapping({
17
- "name" => "name",
18
- "bundleId" => "bundle_id",
19
- "sku" => "sku",
20
- "primaryLocale" => "primary_locale",
21
- "removed" => "removed",
22
- "isAAG" => "is_aag"
23
- })
24
-
25
- def self.type
26
- return "apps"
27
- end
28
-
29
- #
30
- # Apps
31
- #
32
-
33
- def self.all(filter: {}, includes: nil, limit: nil, sort: nil)
34
- resps = client.get_apps(filter: filter, includes: includes, limit: limit, sort: sort).all_pages
35
- return resps.map(&:to_models).flatten
36
- end
37
-
38
- def self.find(bundle_id)
39
- return all(filter: { bundleId: bundle_id }).find do |app|
40
- app.bundle_id == bundle_id
41
- end
42
- end
43
-
44
- def self.get(app_id: nil, includes: nil)
45
- return client.get_app(app_id: app_id, includes: includes).first
46
- end
47
-
48
- #
49
- # Beta Testers
50
- #
51
-
52
- def get_beta_testers(filter: {}, includes: nil, limit: nil, sort: nil)
53
- filter ||= {}
54
- filter[:apps] = id
55
-
56
- resps = client.get_beta_testers(filter: filter, includes: includes, limit: limit, sort: sort).all_pages
57
- return resps.map(&:to_models).flatten
58
- end
59
-
60
- #
61
- # Builds
62
- #
63
-
64
- def get_builds(filter: {}, includes: nil, limit: nil, sort: nil)
65
- filter ||= {}
66
- filter[:app] = id
67
-
68
- resps = client.get_builds(filter: filter, includes: includes, limit: limit, sort: sort).all_pages
69
- return resps.map(&:to_models).flatten
70
- end
71
-
72
- def get_build_deliveries(filter: {}, includes: nil, limit: nil, sort: nil)
73
- filter ||= {}
74
- filter[:app] = id
75
-
76
- resps = client.get_build_deliveries(filter: filter, includes: includes, limit: limit, sort: sort).all_pages
77
- return resps.map(&:to_models).flatten
78
- end
79
-
80
- def get_beta_app_localizations(filter: {}, includes: nil, limit: nil, sort: nil)
81
- filter ||= {}
82
- filter[:app] = id
83
-
84
- resps = client.get_beta_app_localizations(filter: filter, includes: includes, limit: limit, sort: sort).all_pages
85
- return resps.map(&:to_models).flatten
86
- end
87
-
88
- def get_beta_groups(filter: {}, includes: nil, limit: nil, sort: nil)
89
- filter ||= {}
90
- filter[:app] = id
91
-
92
- resps = client.get_beta_groups(filter: filter, includes: includes, limit: limit, sort: sort).all_pages
93
- return resps.map(&:to_models).flatten
94
- end
95
- end
96
- end
97
- end
@@ -1,28 +0,0 @@
1
- require_relative './model'
2
- module Spaceship
3
- module ConnectAPI
4
- class BetaAppLocalization
5
- include Spaceship::ConnectAPI::Model
6
-
7
- attr_accessor :feedback_email
8
- attr_accessor :marketing_url
9
- attr_accessor :privacy_policy_url
10
- attr_accessor :tv_os_privacy_policy
11
- attr_accessor :description
12
- attr_accessor :locale
13
-
14
- attr_mapping({
15
- "feedbackEmail" => "feedback_email",
16
- "marketingUrl" => "marketing_url",
17
- "privacyPolicyUrl" => "privacy_policy_url",
18
- "tvOsPrivacyPolicy" => "tv_os_privacy_policy",
19
- "description" => "description",
20
- "locale" => "locale"
21
- })
22
-
23
- def self.type
24
- return "betaAppLocalizations"
25
- end
26
- end
27
- end
28
- end
@@ -1,32 +0,0 @@
1
- require_relative './model'
2
- module Spaceship
3
- module ConnectAPI
4
- class BetaAppReviewDetail
5
- include Spaceship::ConnectAPI::Model
6
-
7
- attr_accessor :contact_first_name
8
- attr_accessor :contact_last_name
9
- attr_accessor :contact_phone
10
- attr_accessor :contact_email
11
- attr_accessor :demo_account_name
12
- attr_accessor :demo_account_password
13
- attr_accessor :demo_account_required
14
- attr_accessor :notes
15
-
16
- attr_mapping({
17
- "contactFirstName" => "contact_first_name",
18
- "contactLastName" => "contact_last_name",
19
- "contactPhone" => "contact_phone",
20
- "contactEmail" => "contact_email",
21
- "demoAccountName" => "demo_account_name",
22
- "demoAccountPassword" => "demo_account_password",
23
- "demoAccountRequired" => "demo_account_required",
24
- "notes" => "notes"
25
- })
26
-
27
- def self.type
28
- return "betaAppReviewDetails"
29
- end
30
- end
31
- end
32
- end
@@ -1,26 +0,0 @@
1
- require_relative './model'
2
- module Spaceship
3
- module ConnectAPI
4
- class BetaAppReviewSubmission
5
- include Spaceship::ConnectAPI::Model
6
-
7
- attr_accessor :beta_review_state
8
-
9
- attr_mapping({
10
- "betaReviewState" => "beta_review_state"
11
- })
12
-
13
- def self.type
14
- return "betaAppReviewSubmissions"
15
- end
16
-
17
- #
18
- # API
19
- #
20
-
21
- def delete!
22
- return client.delete_beta_app_review_submission(beta_app_review_submission_id: id)
23
- end
24
- end
25
- end
26
- end
@@ -1,20 +0,0 @@
1
- require_relative './model'
2
- module Spaceship
3
- module ConnectAPI
4
- class BetaBuildLocalization
5
- include Spaceship::ConnectAPI::Model
6
-
7
- attr_accessor :whats_new
8
- attr_accessor :locale
9
-
10
- attr_mapping({
11
- "whatsNew" => "whats_new",
12
- "locale" => "locale"
13
- })
14
-
15
- def self.type
16
- return "betaBuildLocalizations"
17
- end
18
- end
19
- end
20
- end
@@ -1,24 +0,0 @@
1
- require_relative './model'
2
- module Spaceship
3
- module ConnectAPI
4
- class BetaBuildMetric
5
- include Spaceship::ConnectAPI::Model
6
-
7
- attr_accessor :install_count
8
- attr_accessor :crash_count
9
- attr_accessor :invite_count
10
- attr_accessor :seven_day_tester_count
11
-
12
- attr_mapping({
13
- "installCount" => "install_count",
14
- "crashCount" => "crash_count",
15
- "inviteCount" => "invite_count",
16
- "sevenDayTesterCount" => "seven_day_tester_count"
17
- })
18
-
19
- def self.type
20
- return "betaBuildMetrics"
21
- end
22
- end
23
- end
24
- end
@@ -1,41 +0,0 @@
1
- require_relative './model'
2
- module Spaceship
3
- module ConnectAPI
4
- class BetaGroup
5
- include Spaceship::ConnectAPI::Model
6
-
7
- attr_accessor :name
8
- attr_accessor :created_date
9
- attr_accessor :is_internal_group
10
- attr_accessor :public_link_enabled
11
- attr_accessor :public_link_id
12
- attr_accessor :public_link_limit_enabled
13
- attr_accessor :public_link_limit
14
- attr_accessor :public_link
15
-
16
- attr_mapping({
17
- "name" => "name",
18
- "createdDate" => "created_date",
19
- "isInternalGroup" => "is_internal_group",
20
- "publicLinkEnabled" => "public_link_enabled",
21
- "publicLinkId" => "public_link_id",
22
- "publicLinkLimitEnabled" => "public_link_limit_enabled",
23
- "publicLinkLimit" => "public_link_limit",
24
- "publicLink" => "public_link"
25
- })
26
-
27
- def self.type
28
- return "betaGroups"
29
- end
30
-
31
- #
32
- # API
33
- #
34
-
35
- # beta_testers - [{email: "", firstName: "", lastName: ""}]
36
- def post_bulk_beta_tester_assignments(beta_testers: nil)
37
- return client.post_bulk_beta_tester_assignments(beta_group_id: id, beta_testers: beta_testers)
38
- end
39
- end
40
- end
41
- end
@@ -1,56 +0,0 @@
1
- require_relative './model'
2
- module Spaceship
3
- module ConnectAPI
4
- class BetaTester
5
- include Spaceship::ConnectAPI::Model
6
-
7
- attr_accessor :first_name
8
- attr_accessor :last_name
9
- attr_accessor :email
10
- attr_accessor :invite_type
11
- attr_accessor :invitation
12
-
13
- attr_accessor :apps
14
- attr_accessor :beta_groups
15
- attr_accessor :beta_tester_metrics
16
-
17
- attr_mapping({
18
- "firstName" => "first_name",
19
- "lastName" => "last_name",
20
- "email" => "email",
21
- "inviteType" => "invite_type",
22
- "invitation" => "invitation",
23
-
24
- "apps" => "apps",
25
- "betaGroups" => "beta_groups",
26
- "betaTesterMetrics" => "beta_tester_metrics"
27
- })
28
-
29
- def self.type
30
- return "betaTesters"
31
- end
32
-
33
- #
34
- # API
35
- #
36
-
37
- def self.all(filter: {}, includes: nil, limit: nil, sort: nil)
38
- return client.get_beta_testers(filter: filter, includes: includes)
39
- end
40
-
41
- def self.find(email: nil, includes: nil)
42
- return all(filter: { email: email }, includes: includes).first
43
- end
44
-
45
- def delete_from_apps(apps: nil)
46
- app_ids = apps.map(&:id)
47
- return client.delete_beta_tester_from_apps(beta_tester_id: id, app_ids: app_ids)
48
- end
49
-
50
- def delete_from_beta_groups(beta_groups: nil)
51
- beta_group_ids = beta_groups.map(&:id)
52
- return client.delete_beta_tester_from_beta_groups(beta_tester_id: id, beta_group_ids: beta_group_ids)
53
- end
54
- end
55
- end
56
- end
@@ -1,43 +0,0 @@
1
- require_relative './model'
2
- module Spaceship
3
- module ConnectAPI
4
- class BetaTesterMetric
5
- include Spaceship::ConnectAPI::Model
6
-
7
- attr_accessor :install_count
8
- attr_accessor :crash_count
9
- attr_accessor :session_count
10
- attr_accessor :beta_tester_state
11
- attr_accessor :last_modified_date
12
- attr_accessor :installed_cf_bundle_short_version_string
13
- attr_accessor :installed_cf_bundle_version
14
-
15
- attr_mapping({
16
- "installCount" => "install_count",
17
- "crashCount" => "crash_count",
18
- "sessionCount" => "session_count",
19
- "betaTesterState" => "beta_tester_state",
20
- "lastModifiedDate" => "last_modified_date",
21
- "installedCfBundleShortVersionString" => "installed_cf_bundle_short_version_string",
22
- "installedCfBundleVersion" => "installed_cf_bundle_version"
23
- })
24
-
25
- module BetaTesterState
26
- INSTALLED = "INSTALLED"
27
- NO_BUILDS = "NO_BUILDS"
28
- end
29
-
30
- def self.type
31
- return "betaTesterMetrics"
32
- end
33
-
34
- #
35
- # Helpers
36
- #
37
-
38
- def installed?
39
- return beta_tester_state == BetaTesterState::INSTALLED
40
- end
41
- end
42
- end
43
- end
@@ -1,144 +0,0 @@
1
- require_relative './model'
2
- require 'spaceship/test_flight/build'
3
- module Spaceship
4
- module ConnectAPI
5
- class Build
6
- include Spaceship::ConnectAPI::Model
7
-
8
- attr_accessor :version
9
- attr_accessor :uploaded_date
10
- attr_accessor :expiration_date
11
- attr_accessor :expired
12
- attr_accessor :min_os_version
13
- attr_accessor :icon_asset_token
14
- attr_accessor :processing_state
15
- attr_accessor :uses_non_exempt_encryption
16
-
17
- attr_accessor :app
18
- attr_accessor :beta_app_review_submission
19
- attr_accessor :beta_build_metrics
20
- attr_accessor :build_beta_detail
21
- attr_accessor :pre_release_version
22
-
23
- attr_mapping({
24
- "version" => "version",
25
- "uploadedDate" => "uploaded_date",
26
- "expirationDate" => "expiration_date",
27
- "expired" => "expired",
28
- "minOsVersion" => "min_os_version",
29
- "iconAssetToken" => "icon_asset_token",
30
- "processingState" => "processing_state",
31
- "usesNonExemptEncryption" => "uses_non_exempt_encryption",
32
-
33
- "app" => "app",
34
- "betaAppReviewSubmission" => "beta_app_review_submission",
35
- "betaBuildMetrics" => "beta_build_metrics",
36
- "buildBetaDetail" => "build_beta_detail",
37
- "preReleaseVersion" => "pre_release_version"
38
- })
39
-
40
- ESSENTIAL_INCLUDES = "app,buildBetaDetail,preReleaseVersion"
41
-
42
- module ProcessingState
43
- PROCESSING = "PROCESSING"
44
- FAILED = "FAILED"
45
- INVALID = "INVALID"
46
- VALID = "VALID"
47
- end
48
-
49
- def self.type
50
- return "builds"
51
- end
52
-
53
- #
54
- # Helpers
55
- #
56
-
57
- def app_version
58
- raise "No pre_release_version included" unless pre_release_version
59
- return pre_release_version.version
60
- end
61
-
62
- def app_id
63
- raise "No app included" unless app
64
- return app.id
65
- end
66
-
67
- def bundle_id
68
- raise "No app included" unless app
69
- return app.bundle_id
70
- end
71
-
72
- def processed?
73
- return processing_state != ProcessingState::PROCESSING
74
- end
75
-
76
- def ready_for_beta_submission?
77
- raise "No build_beat_detail included" unless build_beta_detail
78
- return build_beta_detail.ready_for_beta_submission?
79
- end
80
-
81
- # This is here temporarily until the removal of Spaceship::TestFlight
82
- def to_testflight_build
83
- h = {
84
- 'buildVersion' => version,
85
- 'uploadDate' => uploaded_date,
86
- 'externalState' => processed? ? Spaceship::TestFlight::Build::BUILD_STATES[:active] : Spaceship::TestFlight::Build::BUILD_STATES[:processing],
87
- 'appAdamId' => app_id,
88
- 'bundleId' => bundle_id,
89
- 'trainVersion' => app_version
90
- }
91
-
92
- return Spaceship::TestFlight::Build.new(h)
93
- end
94
-
95
- #
96
- # API
97
- #
98
-
99
- def self.all(app_id: nil, version: nil, build_number: nil, includes: ESSENTIAL_INCLUDES, sort: "-uploadedDate", limit: 30)
100
- resps = client.get_builds(
101
- filter: { app: app_id, "preReleaseVersion.version" => version, version: build_number },
102
- includes: includes,
103
- sort: sort,
104
- limit: limit
105
- ).all_pages
106
- return resps.map(&:to_models).flatten
107
- end
108
-
109
- def self.get(build_id: nil, includes: ESSENTIAL_INCLUDES)
110
- return client.get_build(build_id: build_id, includes: includes).first
111
- end
112
-
113
- def add_beta_groups(beta_groups: nil)
114
- beta_groups ||= []
115
- beta_group_ids = beta_groups.map(&:id)
116
- return client.add_beta_groups_to_build(build_id: id, beta_group_ids: beta_group_ids)
117
- end
118
-
119
- def get_beta_build_localizations(filter: {}, includes: nil, limit: nil, sort: nil)
120
- resps = client.get_beta_build_localizations(
121
- filter: { build: id },
122
- includes: includes,
123
- sort: sort,
124
- limit: limit
125
- ).all_pages
126
- return resps.map(&:to_models).flatten
127
- end
128
-
129
- def get_build_beta_details(filter: {}, includes: nil, limit: nil, sort: nil)
130
- resps = client.get_build_beta_details(
131
- filter: { build: id },
132
- includes: includes,
133
- sort: sort,
134
- limit: limit
135
- ).all_pages
136
- return resps.map(&:to_models).flatten
137
- end
138
-
139
- def post_beta_app_review_submission
140
- return client.post_beta_app_review_submissions(build_id: id)
141
- end
142
- end
143
- end
144
- end