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

Sign up to get free protection for your applications and to get access to all the features.
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