fastlane-plugin-airwatch_workspaceone 2.0.0 → 2.4.0
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.
- checksums.yaml +4 -4
- data/README.md +19 -4
- data/lib/fastlane/plugin/airwatch_workspaceone/actions/add_or_update_assignments_action.rb +16 -37
- data/lib/fastlane/plugin/airwatch_workspaceone/actions/delete_previous_versions_action.rb +28 -61
- data/lib/fastlane/plugin/airwatch_workspaceone/actions/delete_specific_version_action.rb +22 -68
- data/lib/fastlane/plugin/airwatch_workspaceone/actions/deploy_build_action.rb +74 -17
- data/lib/fastlane/plugin/airwatch_workspaceone/actions/latest_version_action.rb +182 -0
- data/lib/fastlane/plugin/airwatch_workspaceone/actions/retire_previous_versions_action.rb +21 -74
- data/lib/fastlane/plugin/airwatch_workspaceone/actions/retire_specific_version_action.rb +20 -73
- data/lib/fastlane/plugin/airwatch_workspaceone/actions/unretire_all_versions.rb +20 -73
- data/lib/fastlane/plugin/airwatch_workspaceone/actions/unretire_specific_version_action.rb +164 -0
- data/lib/fastlane/plugin/airwatch_workspaceone/helper/airwatch_workspaceone_helper.rb +130 -1
- data/lib/fastlane/plugin/airwatch_workspaceone/version.rb +1 -1
- metadata +9 -7
@@ -5,9 +5,6 @@ module Fastlane
|
|
5
5
|
module Actions
|
6
6
|
class RetireSpecificVersionAction < Action
|
7
7
|
|
8
|
-
APP_VERSIONS_LIST_SUFFIX = "/API/mam/apps/search?bundleid=%s"
|
9
|
-
INTERNAL_APP_RETIRE_SUFFIX = "/API/mam/apps/internal/%d/retire"
|
10
|
-
|
11
8
|
$is_debug = false
|
12
9
|
|
13
10
|
def self.run(params)
|
@@ -23,6 +20,7 @@ module Fastlane
|
|
23
20
|
UI.message(" host_url: #{params[:host_url]}")
|
24
21
|
UI.message(" aw_tenant_code: #{params[:aw_tenant_code]}")
|
25
22
|
UI.message(" b64_encoded_auth: #{params[:b64_encoded_auth]}")
|
23
|
+
UI.message(" organization_group_id: #{params[:org_group_id]}")
|
26
24
|
UI.message(" app_identifier: #{params[:app_identifier]}")
|
27
25
|
UI.message(" version_number: #{params[:version_number]}")
|
28
26
|
end
|
@@ -30,6 +28,7 @@ module Fastlane
|
|
30
28
|
$host_url = params[:host_url]
|
31
29
|
$aw_tenant_code = params[:aw_tenant_code]
|
32
30
|
$b64_encoded_auth = params[:b64_encoded_auth]
|
31
|
+
$org_group_id = params[:org_group_id]
|
33
32
|
app_identifier = params[:app_identifier]
|
34
33
|
version_number = params[:version_number]
|
35
34
|
|
@@ -38,7 +37,7 @@ module Fastlane
|
|
38
37
|
UI.message("1. Finding active app versions")
|
39
38
|
UI.message("------------------------------")
|
40
39
|
|
41
|
-
app_versions =
|
40
|
+
app_versions = Helper::AirwatchWorkspaceoneHelper.find_app_versions(app_identifier, 'Active', $host_url, $aw_tenant_code, $b64_encoded_auth, $org_group_id, debug)
|
42
41
|
app_version_numbers = app_versions.map {|app_version| app_version.values[1]}
|
43
42
|
UI.success("Found %d active app version(s)" % [app_versions.count])
|
44
43
|
UI.success("Version number(s): %s" % [app_version_numbers])
|
@@ -51,7 +50,7 @@ module Fastlane
|
|
51
50
|
if app_version_numbers.include? version_number
|
52
51
|
version_index = app_version_numbers.index(version_number)
|
53
52
|
app_version_to_retire = app_versions[version_index]
|
54
|
-
retire_app(app_version_to_retire)
|
53
|
+
Helper::AirwatchWorkspaceoneHelper.retire_app(app_version_to_retire, $host_url, $aw_tenant_code, $b64_encoded_auth, debug)
|
55
54
|
else
|
56
55
|
UI.user_error!("A version with the given version number: %s does not exist on the console for this application or is already retired." % [version_number])
|
57
56
|
end
|
@@ -59,67 +58,6 @@ module Fastlane
|
|
59
58
|
UI.success("Version %s successfully retired" % [version_number])
|
60
59
|
end
|
61
60
|
|
62
|
-
def self.find_app(app_identifier)
|
63
|
-
# get the list of apps
|
64
|
-
data = list_app_versions(app_identifier)
|
65
|
-
active_app_versions = Array.new
|
66
|
-
|
67
|
-
data['Application'].each do |app|
|
68
|
-
if app['Status'] == "Active"
|
69
|
-
active_app_version = Hash.new
|
70
|
-
active_app_version['Id'] = app['Id']['Value']
|
71
|
-
active_app_version['Version'] = app['AppVersion']
|
72
|
-
active_app_versions << active_app_version
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
return active_app_versions
|
77
|
-
end
|
78
|
-
|
79
|
-
def self.list_app_versions(app_identifier)
|
80
|
-
require 'rest-client'
|
81
|
-
require 'json'
|
82
|
-
|
83
|
-
response = RestClient.get($host_url + APP_VERSIONS_LIST_SUFFIX % [app_identifier], {accept: :json, 'aw-tenant-code': $aw_tenant_code, 'Authorization': "Basic " + $b64_encoded_auth})
|
84
|
-
|
85
|
-
if debug
|
86
|
-
UI.message("Response code: %d" % [response.code])
|
87
|
-
UI.message("Response body:")
|
88
|
-
UI.message(response.body)
|
89
|
-
end
|
90
|
-
|
91
|
-
if response.code != 200
|
92
|
-
UI.user_error!("There was an error in finding app versions. One possible reason is that an app with the bundle identifier given does not exist on Console.")
|
93
|
-
exit
|
94
|
-
end
|
95
|
-
|
96
|
-
json = JSON.parse(response.body)
|
97
|
-
return json
|
98
|
-
end
|
99
|
-
|
100
|
-
def self.retire_app(app_version)
|
101
|
-
require 'rest-client'
|
102
|
-
require 'json'
|
103
|
-
|
104
|
-
body = {
|
105
|
-
"applicationid" => app_version['Id']
|
106
|
-
}
|
107
|
-
|
108
|
-
UI.message("Starting to retire app version: %s" % [app_version['Version']])
|
109
|
-
response = RestClient.post($host_url + INTERNAL_APP_RETIRE_SUFFIX % [app_version['Id']], body.to_json, {accept: :json, 'aw-tenant-code': $aw_tenant_code, 'Authorization': "Basic " + $b64_encoded_auth})
|
110
|
-
|
111
|
-
if debug
|
112
|
-
UI.message("Response code: %d" % [response.code])
|
113
|
-
end
|
114
|
-
|
115
|
-
if response.code == 202
|
116
|
-
UI.message("Successfully retired app version: %s" % [app_version['Version']])
|
117
|
-
else
|
118
|
-
json = JSON.parse(response.body)
|
119
|
-
UI.message("Failed to retire app version: %s" % [app_version['Version']])
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
61
|
def self.description
|
124
62
|
"The main purpose of this action is to retire a specific version of an application. This action takes a string parameter where you can specify the version number to retire."
|
125
63
|
end
|
@@ -134,36 +72,45 @@ module Fastlane
|
|
134
72
|
|
135
73
|
def self.details
|
136
74
|
# Optional:
|
137
|
-
"retire_specific_version - To retire specific version of an application on the AirWatch console."
|
75
|
+
"retire_specific_version - To retire specific version of an application on the AirWatch/Workspace ONE console."
|
138
76
|
end
|
139
77
|
|
140
78
|
def self.available_options
|
141
79
|
[
|
142
80
|
FastlaneCore::ConfigItem.new(key: :host_url,
|
143
81
|
env_name: "AIRWATCH_HOST_API_URL",
|
144
|
-
description: "Host API URL of the AirWatch instance",
|
82
|
+
description: "Host API URL of the AirWatch/Workspace ONE instance without /API/ at the end",
|
145
83
|
optional: false,
|
146
84
|
type: String,
|
147
85
|
verify_block: proc do |value|
|
148
|
-
UI.user_error!("No AirWatch Host API URl given.") unless value and !value.empty?
|
86
|
+
UI.user_error!("No AirWatch/Workspace ONE Host API URl given, pass using `host_url: 'https://yourhost.com'`") unless value and !value.empty?
|
149
87
|
end),
|
150
88
|
|
151
89
|
FastlaneCore::ConfigItem.new(key: :aw_tenant_code,
|
152
90
|
env_name: "AIRWATCH_API_KEY",
|
153
|
-
description: "API key to access AirWatch Rest APIs",
|
91
|
+
description: "API key or the tenant code to access AirWatch/Workspace ONE Rest APIs",
|
154
92
|
optional: false,
|
155
93
|
type: String,
|
156
94
|
verify_block: proc do |value|
|
157
|
-
UI.user_error!("Api tenant code header is missing
|
95
|
+
UI.user_error!("Api tenant code header is missing, pass using `aw_tenant_code: 'yourapikey'`") unless value and !value.empty?
|
158
96
|
end),
|
159
97
|
|
160
98
|
FastlaneCore::ConfigItem.new(key: :b64_encoded_auth,
|
161
99
|
env_name: "AIRWATCH_BASE64_ENCODED_BASIC_AUTH_STRING",
|
162
|
-
description: "The base64 encoded Basic Auth string generated by authorizing username and password to the AirWatch instance",
|
100
|
+
description: "The base64 encoded Basic Auth string generated by authorizing username and password to the AirWatch/Workspace ONE instance",
|
101
|
+
optional: false,
|
102
|
+
type: String,
|
103
|
+
verify_block: proc do |value|
|
104
|
+
UI.user_error!("The authorization header is empty or the scheme is not basic, pass using `b64_encoded_auth: 'yourb64encodedauthstring'`") unless value and !value.empty?
|
105
|
+
end),
|
106
|
+
|
107
|
+
FastlaneCore::ConfigItem.new(key: :org_group_id,
|
108
|
+
env_name: "AIRWATCH_ORGANIZATION_GROUP_ID",
|
109
|
+
description: "Organization Group ID integer identifying the customer or container",
|
163
110
|
optional: false,
|
164
111
|
type: String,
|
165
112
|
verify_block: proc do |value|
|
166
|
-
UI.user_error!("
|
113
|
+
UI.user_error!("No Organization Group ID integer given, pass using `org_group_id: 'yourorggrpintid'`") unless value and !value.empty?
|
167
114
|
end),
|
168
115
|
|
169
116
|
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
@@ -5,9 +5,6 @@ module Fastlane
|
|
5
5
|
module Actions
|
6
6
|
class UnretireAllVersionsAction < Action
|
7
7
|
|
8
|
-
APP_VERSIONS_LIST_SUFFIX = "/API/mam/apps/search?bundleid=%s"
|
9
|
-
INTERNAL_APP_UNRETIRE_SUFFIX = "/API/mam/apps/internal/%d/unretire"
|
10
|
-
|
11
8
|
$is_debug = false
|
12
9
|
|
13
10
|
def self.run(params)
|
@@ -23,12 +20,14 @@ module Fastlane
|
|
23
20
|
UI.message(" host_url: #{params[:host_url]}")
|
24
21
|
UI.message(" aw_tenant_code: #{params[:aw_tenant_code]}")
|
25
22
|
UI.message(" b64_encoded_auth: #{params[:b64_encoded_auth]}")
|
23
|
+
UI.message(" organization_group_id: #{params[:org_group_id]}")
|
26
24
|
UI.message(" app_identifier: #{params[:app_identifier]}")
|
27
25
|
end
|
28
26
|
|
29
27
|
$host_url = params[:host_url]
|
30
28
|
$aw_tenant_code = params[:aw_tenant_code]
|
31
29
|
$b64_encoded_auth = params[:b64_encoded_auth]
|
30
|
+
$org_group_id = params[:org_group_id]
|
32
31
|
app_identifier = params[:app_identifier]
|
33
32
|
|
34
33
|
# step 1: find app
|
@@ -36,7 +35,7 @@ module Fastlane
|
|
36
35
|
UI.message("1. Finding retired app versions")
|
37
36
|
UI.message("-------------------------------")
|
38
37
|
|
39
|
-
retired_app_versions =
|
38
|
+
retired_app_versions = Helper::AirwatchWorkspaceoneHelper.find_app_versions(app_identifier, 'Retired', $host_url, $aw_tenant_code, $b64_encoded_auth, $org_group_id, debug)
|
40
39
|
if retired_app_versions.count <= 0
|
41
40
|
UI.important("No retired app versions found for application with bundle identifier given: %s" % [app_identifier])
|
42
41
|
return
|
@@ -51,72 +50,11 @@ module Fastlane
|
|
51
50
|
UI.message("----------------------------------")
|
52
51
|
|
53
52
|
retired_app_versions.each do |retired_app_version|
|
54
|
-
unretire_app(retired_app_version)
|
53
|
+
Helper::AirwatchWorkspaceoneHelper.unretire_app(retired_app_version, $host_url, $aw_tenant_code, $b64_encoded_auth, debug)
|
55
54
|
end
|
56
55
|
UI.success("Version(s) %s successfully unretired." % [retired_app_versions.map {|retired_app_version| retired_app_version.values[1]}])
|
57
56
|
end
|
58
57
|
|
59
|
-
def self.find_app(app_identifier)
|
60
|
-
# get the list of apps
|
61
|
-
data = list_app_versions(app_identifier)
|
62
|
-
retired_app_versions = Array.new
|
63
|
-
|
64
|
-
data['Application'].each do |app|
|
65
|
-
if app['Status'] == "Retired"
|
66
|
-
retired_app_version = Hash.new
|
67
|
-
retired_app_version['Id'] = app['Id']['Value']
|
68
|
-
retired_app_version['Version'] = app['AppVersion']
|
69
|
-
retired_app_versions << retired_app_version
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
return retired_app_versions
|
74
|
-
end
|
75
|
-
|
76
|
-
def self.list_app_versions(app_identifier)
|
77
|
-
require 'rest-client'
|
78
|
-
require 'json'
|
79
|
-
|
80
|
-
response = RestClient.get($host_url + APP_VERSIONS_LIST_SUFFIX % [app_identifier], {accept: :json, 'aw-tenant-code': $aw_tenant_code, 'Authorization': "Basic " + $b64_encoded_auth})
|
81
|
-
|
82
|
-
if debug
|
83
|
-
UI.message("Response code: %d" % [response.code])
|
84
|
-
UI.message("Response body:")
|
85
|
-
UI.message(response.body)
|
86
|
-
end
|
87
|
-
|
88
|
-
if response.code != 200
|
89
|
-
UI.user_error!("There was an error in finding app versions. One possible reason is that an app with the bundle identifier given does not exist on Console.")
|
90
|
-
exit
|
91
|
-
end
|
92
|
-
|
93
|
-
json = JSON.parse(response.body)
|
94
|
-
return json
|
95
|
-
end
|
96
|
-
|
97
|
-
def self.unretire_app(app_version)
|
98
|
-
require 'rest-client'
|
99
|
-
require 'json'
|
100
|
-
|
101
|
-
body = {
|
102
|
-
"applicationid" => app_version['Id']
|
103
|
-
}
|
104
|
-
|
105
|
-
UI.message("Starting to unretire app version: %s" % [app_version['Version']])
|
106
|
-
response = RestClient.post($host_url + INTERNAL_APP_UNRETIRE_SUFFIX % [app_version['Id']], body.to_json, {accept: :json, 'aw-tenant-code': $aw_tenant_code, 'Authorization': "Basic " + $b64_encoded_auth})
|
107
|
-
|
108
|
-
if debug
|
109
|
-
UI.message("Response code: %d" % [response.code])
|
110
|
-
end
|
111
|
-
|
112
|
-
if response.code == 202
|
113
|
-
UI.message("Successfully unretired app version: %s" % [app_version['Version']])
|
114
|
-
else
|
115
|
-
json = JSON.parse(response.body)
|
116
|
-
UI.message("Failed to unretire app version: %s" % [app_version['Version']])
|
117
|
-
end
|
118
|
-
end
|
119
|
-
|
120
58
|
def self.description
|
121
59
|
"The main purpose of this action is to unretire all retired versions of an application."
|
122
60
|
end
|
@@ -131,36 +69,45 @@ module Fastlane
|
|
131
69
|
|
132
70
|
def self.details
|
133
71
|
# Optional:
|
134
|
-
"unretire_all_versions - To unretire all retired versions of an application on the AirWatch console."
|
72
|
+
"unretire_all_versions - To unretire all retired versions of an application on the AirWatch/Workspace ONE console."
|
135
73
|
end
|
136
74
|
|
137
75
|
def self.available_options
|
138
76
|
[
|
139
77
|
FastlaneCore::ConfigItem.new(key: :host_url,
|
140
78
|
env_name: "AIRWATCH_HOST_API_URL",
|
141
|
-
description: "Host API URL of the AirWatch instance",
|
79
|
+
description: "Host API URL of the AirWatch/Workspace ONE instance without /API/ at the end",
|
142
80
|
optional: false,
|
143
81
|
type: String,
|
144
82
|
verify_block: proc do |value|
|
145
|
-
UI.user_error!("No AirWatch Host API URl given.") unless value and !value.empty?
|
83
|
+
UI.user_error!("No AirWatch/Workspace ONE Host API URl given, pass using `host_url: 'https://yourhost.com'`") unless value and !value.empty?
|
146
84
|
end),
|
147
85
|
|
148
86
|
FastlaneCore::ConfigItem.new(key: :aw_tenant_code,
|
149
87
|
env_name: "AIRWATCH_API_KEY",
|
150
|
-
description: "API key to access AirWatch Rest APIs",
|
88
|
+
description: "API key or the tenant code to access AirWatch/Workspace ONE Rest APIs",
|
151
89
|
optional: false,
|
152
90
|
type: String,
|
153
91
|
verify_block: proc do |value|
|
154
|
-
UI.user_error!("Api tenant code header is missing
|
92
|
+
UI.user_error!("Api tenant code header is missing, pass using `aw_tenant_code: 'yourapikey'`") unless value and !value.empty?
|
155
93
|
end),
|
156
94
|
|
157
95
|
FastlaneCore::ConfigItem.new(key: :b64_encoded_auth,
|
158
96
|
env_name: "AIRWATCH_BASE64_ENCODED_BASIC_AUTH_STRING",
|
159
|
-
description: "The base64 encoded Basic Auth string generated by authorizing username and password to the AirWatch instance",
|
97
|
+
description: "The base64 encoded Basic Auth string generated by authorizing username and password to the AirWatch/Workspace ONE instance",
|
98
|
+
optional: false,
|
99
|
+
type: String,
|
100
|
+
verify_block: proc do |value|
|
101
|
+
UI.user_error!("The authorization header is empty or the scheme is not basic, pass using `b64_encoded_auth: 'yourb64encodedauthstring'`") unless value and !value.empty?
|
102
|
+
end),
|
103
|
+
|
104
|
+
FastlaneCore::ConfigItem.new(key: :org_group_id,
|
105
|
+
env_name: "AIRWATCH_ORGANIZATION_GROUP_ID",
|
106
|
+
description: "Organization Group ID integer identifying the customer or container",
|
160
107
|
optional: false,
|
161
108
|
type: String,
|
162
109
|
verify_block: proc do |value|
|
163
|
-
UI.user_error!("
|
110
|
+
UI.user_error!("No Organization Group ID integer given, pass using `org_group_id: 'yourorggrpintid'`") unless value and !value.empty?
|
164
111
|
end),
|
165
112
|
|
166
113
|
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
@@ -0,0 +1,164 @@
|
|
1
|
+
require 'fastlane/action'
|
2
|
+
require_relative '../helper/airwatch_workspaceone_helper'
|
3
|
+
|
4
|
+
module Fastlane
|
5
|
+
module Actions
|
6
|
+
class UnretireSpecificVersionAction < Action
|
7
|
+
|
8
|
+
$is_debug = false
|
9
|
+
|
10
|
+
def self.run(params)
|
11
|
+
UI.message("The airwatch_workspaceone plugin is working!")
|
12
|
+
|
13
|
+
# check if debug is enabled
|
14
|
+
$is_debug = params[:debug]
|
15
|
+
|
16
|
+
if debug
|
17
|
+
UI.message("-----------------------------------------------")
|
18
|
+
UI.message("UnretireSpecificVersionAction debug information")
|
19
|
+
UI.message("-----------------------------------------------")
|
20
|
+
UI.message(" host_url: #{params[:host_url]}")
|
21
|
+
UI.message(" aw_tenant_code: #{params[:aw_tenant_code]}")
|
22
|
+
UI.message(" b64_encoded_auth: #{params[:b64_encoded_auth]}")
|
23
|
+
UI.message(" organization_group_id: #{params[:org_group_id]}")
|
24
|
+
UI.message(" app_identifier: #{params[:app_identifier]}")
|
25
|
+
UI.message(" version_number: #{params[:version_number]}")
|
26
|
+
end
|
27
|
+
|
28
|
+
$host_url = params[:host_url]
|
29
|
+
$aw_tenant_code = params[:aw_tenant_code]
|
30
|
+
$b64_encoded_auth = params[:b64_encoded_auth]
|
31
|
+
$org_group_id = params[:org_group_id]
|
32
|
+
app_identifier = params[:app_identifier]
|
33
|
+
version_number = params[:version_number]
|
34
|
+
|
35
|
+
# step 1: find app
|
36
|
+
UI.message("-------------------------------")
|
37
|
+
UI.message("1. Finding retired app versions")
|
38
|
+
UI.message("-------------------------------")
|
39
|
+
|
40
|
+
retired_app_versions = Helper::AirwatchWorkspaceoneHelper.find_app_versions(app_identifier, 'Retired', $host_url, $aw_tenant_code, $b64_encoded_auth, $org_group_id, debug)
|
41
|
+
if retired_app_versions.count <= 0
|
42
|
+
UI.important("No retired app versions found for application with bundle identifier given: %s" % [app_identifier])
|
43
|
+
return
|
44
|
+
end
|
45
|
+
|
46
|
+
retired_version_numbers = retired_app_versions.map {|retired_app_version| retired_app_version.values[1]}
|
47
|
+
UI.success("Found %d retired app version(s)" % [retired_app_versions.count])
|
48
|
+
UI.success("Version number(s): %s" % [retired_version_numbers])
|
49
|
+
|
50
|
+
# step 2: retire specific version
|
51
|
+
UI.message("----------------------------------")
|
52
|
+
UI.message("2. UnRetiring specific app version")
|
53
|
+
UI.message("----------------------------------")
|
54
|
+
|
55
|
+
if retired_version_numbers.include? version_number
|
56
|
+
version_index = retired_version_numbers.index(version_number)
|
57
|
+
app_version_to_unretire = retired_app_versions[version_index]
|
58
|
+
Helper::AirwatchWorkspaceoneHelper.unretire_app(app_version_to_unretire, $host_url, $aw_tenant_code, $b64_encoded_auth, debug)
|
59
|
+
else
|
60
|
+
UI.user_error!("A version with the given version number: %s does not exist on the console for this application or is already Active." % [version_number])
|
61
|
+
end
|
62
|
+
|
63
|
+
UI.success("Version %s successfully unretired" % [version_number])
|
64
|
+
end
|
65
|
+
|
66
|
+
def self.description
|
67
|
+
"The main purpose of this action is to unretire a specific version of an application. This action takes a string parameter where you can specify the version number to unretire."
|
68
|
+
end
|
69
|
+
|
70
|
+
def self.authors
|
71
|
+
["Ram Awadhesh Sharan"]
|
72
|
+
end
|
73
|
+
|
74
|
+
def self.return_value
|
75
|
+
# If your method provides a return value, you can describe here what it does
|
76
|
+
end
|
77
|
+
|
78
|
+
def self.details
|
79
|
+
# Optional:
|
80
|
+
"unretire_specific_version - To unretire specific version of an application on the AirWatch/Workspace ONE console."
|
81
|
+
end
|
82
|
+
|
83
|
+
def self.available_options
|
84
|
+
[
|
85
|
+
FastlaneCore::ConfigItem.new(key: :host_url,
|
86
|
+
env_name: "AIRWATCH_HOST_API_URL",
|
87
|
+
description: "Host API URL of the AirWatch/Workspace ONE instance without /API/ at the end",
|
88
|
+
optional: false,
|
89
|
+
type: String,
|
90
|
+
verify_block: proc do |value|
|
91
|
+
UI.user_error!("No AirWatch/Workspace ONE Host API URl given, pass using `host_url: 'https://yourhost.com'`") unless value and !value.empty?
|
92
|
+
end),
|
93
|
+
|
94
|
+
FastlaneCore::ConfigItem.new(key: :aw_tenant_code,
|
95
|
+
env_name: "AIRWATCH_API_KEY",
|
96
|
+
description: "API key or the tenant code to access AirWatch/Workspace ONE Rest APIs",
|
97
|
+
optional: false,
|
98
|
+
type: String,
|
99
|
+
verify_block: proc do |value|
|
100
|
+
UI.user_error!("Api tenant code header is missing, pass using `aw_tenant_code: 'yourapikey'`") unless value and !value.empty?
|
101
|
+
end),
|
102
|
+
|
103
|
+
FastlaneCore::ConfigItem.new(key: :b64_encoded_auth,
|
104
|
+
env_name: "AIRWATCH_BASE64_ENCODED_BASIC_AUTH_STRING",
|
105
|
+
description: "The base64 encoded Basic Auth string generated by authorizing username and password to the AirWatch/Workspace ONE instance",
|
106
|
+
optional: false,
|
107
|
+
type: String,
|
108
|
+
verify_block: proc do |value|
|
109
|
+
UI.user_error!("The authorization header is empty or the scheme is not basic, pass using `b64_encoded_auth: 'yourb64encodedauthstring'`") unless value and !value.empty?
|
110
|
+
end),
|
111
|
+
|
112
|
+
FastlaneCore::ConfigItem.new(key: :org_group_id,
|
113
|
+
env_name: "AIRWATCH_ORGANIZATION_GROUP_ID",
|
114
|
+
description: "Organization Group ID integer identifying the customer or container",
|
115
|
+
optional: false,
|
116
|
+
type: String,
|
117
|
+
verify_block: proc do |value|
|
118
|
+
UI.user_error!("No Organization Group ID integer given, pass using `org_group_id: 'yourorggrpintid'`") unless value and !value.empty?
|
119
|
+
end),
|
120
|
+
|
121
|
+
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
122
|
+
env_name: "APP_IDENTIFIER",
|
123
|
+
description: "Bundle identifier of your app",
|
124
|
+
optional: false,
|
125
|
+
type: String,
|
126
|
+
verify_block: proc do |value|
|
127
|
+
UI.user_error!("No app identifier given, pass using `app_identifier: 'com.example.app'`") unless value and !value.empty?
|
128
|
+
end),
|
129
|
+
|
130
|
+
FastlaneCore::ConfigItem.new(key: :version_number,
|
131
|
+
env_name: "AIRWATCH_VERSION_NUMBER",
|
132
|
+
description: "Version number of the application to unretire",
|
133
|
+
optional: false,
|
134
|
+
type: String,
|
135
|
+
verify_block: proc do |value|
|
136
|
+
UI.user_error!("No version number given, pass using `version_number: '1.0'`") unless value and !value.empty?
|
137
|
+
end),
|
138
|
+
|
139
|
+
FastlaneCore::ConfigItem.new(key: :debug,
|
140
|
+
env_name: "AIRWATCH_DEBUG",
|
141
|
+
description: "Debug flag, set to true to show extended output. default: false",
|
142
|
+
optional: true,
|
143
|
+
is_string: false,
|
144
|
+
default_value: false)
|
145
|
+
]
|
146
|
+
end
|
147
|
+
|
148
|
+
def self.is_supported?(platform)
|
149
|
+
# Adjust this if your plugin only works for a particular platform (iOS vs. Android, for example)
|
150
|
+
# See: https://docs.fastlane.tools/advanced/#control-configuration-by-lane-and-by-platform
|
151
|
+
|
152
|
+
[:ios, :android].include?(platform)
|
153
|
+
true
|
154
|
+
end
|
155
|
+
|
156
|
+
# helpers
|
157
|
+
|
158
|
+
def self.debug
|
159
|
+
$is_debug
|
160
|
+
end
|
161
|
+
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|