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
@@ -8,9 +8,138 @@ module Fastlane
|
|
8
8
|
# class methods that you define here become available in your action
|
9
9
|
# as `Helper::AirwatchWorkspaceoneHelper.your_method`
|
10
10
|
#
|
11
|
+
|
12
|
+
APP_VERSIONS_LIST_SUFFIX = "/API/mam/apps/search?applicationtype=Internal&includeAppsFromChildOgs=false&IncludeAppsFromParentOgs=false&bundleid=%s&locationgroupid=%d"
|
13
|
+
INTERNAL_APP_DELETE_SUFFIX = "/API/mam/apps/internal/%d"
|
14
|
+
INTERNAL_APP_RETIRE_SUFFIX = "/API/mam/apps/internal/%d/retire"
|
15
|
+
INTERNAL_APP_UNRETIRE_SUFFIX = "/API/mam/apps/internal/%d/unretire"
|
16
|
+
|
11
17
|
def self.show_message
|
12
18
|
UI.message("Hello from the airwatch_workspaceone plugin helper!")
|
13
19
|
end
|
20
|
+
|
21
|
+
def self.construct_app_version(app)
|
22
|
+
app_version = Hash.new
|
23
|
+
app_version['Id'] = app['Id']['Value']
|
24
|
+
app_version['Version'] = app['AppVersion']
|
25
|
+
return app_version
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.find_app_versions(app_identifier, app_status, host_url, aw_tenant_code, b64_encoded_auth, locationGrpId, debug)
|
29
|
+
# get the list of apps
|
30
|
+
apps = list_app_versions(app_identifier, host_url, aw_tenant_code, b64_encoded_auth, locationGrpId, debug)
|
31
|
+
app_versions = Array.new
|
32
|
+
|
33
|
+
apps['Application'].each do |app|
|
34
|
+
|
35
|
+
case app_status
|
36
|
+
when 'Active'
|
37
|
+
if app['Status'] == "Active"
|
38
|
+
app_version = construct_app_version(app)
|
39
|
+
app_versions << app_version
|
40
|
+
end
|
41
|
+
|
42
|
+
when 'Retired'
|
43
|
+
if app['Status'] == "Retired"
|
44
|
+
app_version = construct_app_version(app)
|
45
|
+
app_versions << app_version
|
46
|
+
end
|
47
|
+
|
48
|
+
else
|
49
|
+
app_version = construct_app_version(app)
|
50
|
+
app_versions << app_version
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
app_versions.sort_by! { |app_version| app_version["Id"] }
|
55
|
+
return app_versions
|
56
|
+
end
|
57
|
+
|
58
|
+
def self.list_app_versions(app_identifier, host_url, aw_tenant_code, b64_encoded_auth, locationGrpId, debug)
|
59
|
+
require 'rest-client'
|
60
|
+
require 'json'
|
61
|
+
|
62
|
+
response = RestClient.get(host_url + APP_VERSIONS_LIST_SUFFIX % [app_identifier, locationGrpId], {accept: :json, 'aw-tenant-code': aw_tenant_code, 'Authorization': "Basic " + b64_encoded_auth})
|
63
|
+
|
64
|
+
if debug
|
65
|
+
UI.message("Response code: %d" % [response.code])
|
66
|
+
UI.message("Response body:")
|
67
|
+
UI.message(JSON.pretty_generate(response.body))
|
68
|
+
end
|
69
|
+
|
70
|
+
if response.code != 200
|
71
|
+
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.")
|
72
|
+
exit
|
73
|
+
end
|
74
|
+
|
75
|
+
json = JSON.parse(response.body)
|
76
|
+
return json
|
77
|
+
end
|
78
|
+
|
79
|
+
def self.delete_app(app_version, host_url, aw_tenant_code, b64_encoded_auth, debug)
|
80
|
+
require 'rest-client'
|
81
|
+
require 'json'
|
82
|
+
|
83
|
+
UI.message("Starting to delete app version: %s" % [app_version['Version']])
|
84
|
+
response = RestClient.delete(host_url + INTERNAL_APP_DELETE_SUFFIX % [app_version['Id']], {accept: :json, 'aw-tenant-code': aw_tenant_code, 'Authorization': "Basic " + b64_encoded_auth})
|
85
|
+
|
86
|
+
if debug
|
87
|
+
UI.message("Response code: %d" % [response.code])
|
88
|
+
end
|
89
|
+
|
90
|
+
if response.code == 204
|
91
|
+
UI.message("Successfully deleted app version: %s" % [app_version['Version']])
|
92
|
+
else
|
93
|
+
UI.message("Failed to delete app version: %s" % [app_version['Version']])
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
def self.retire_app(app_version, host_url, aw_tenant_code, b64_encoded_auth, debug)
|
98
|
+
require 'rest-client'
|
99
|
+
require 'json'
|
100
|
+
|
101
|
+
body = {
|
102
|
+
"applicationid" => app_version['Id']
|
103
|
+
}
|
104
|
+
|
105
|
+
UI.message("Starting to retire app version: %s" % [app_version['Version']])
|
106
|
+
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})
|
107
|
+
|
108
|
+
if debug
|
109
|
+
UI.message("Response code: %d" % [response.code])
|
110
|
+
end
|
111
|
+
|
112
|
+
if response.code == 202
|
113
|
+
UI.message("Successfully retired app version: %s" % [app_version['Version']])
|
114
|
+
else
|
115
|
+
json = JSON.parse(response.body)
|
116
|
+
UI.message("Failed to retire app version: %s" % [app_version['Version']])
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
def self.unretire_app(app_version, host_url, aw_tenant_code, b64_encoded_auth, debug)
|
121
|
+
require 'rest-client'
|
122
|
+
require 'json'
|
123
|
+
|
124
|
+
body = {
|
125
|
+
"applicationid" => app_version['Id']
|
126
|
+
}
|
127
|
+
|
128
|
+
UI.message("Starting to unretire app version: %s" % [app_version['Version']])
|
129
|
+
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})
|
130
|
+
|
131
|
+
if debug
|
132
|
+
UI.message("Response code: %d" % [response.code])
|
133
|
+
end
|
134
|
+
|
135
|
+
if response.code == 202
|
136
|
+
UI.message("Successfully unretired app version: %s" % [app_version['Version']])
|
137
|
+
else
|
138
|
+
json = JSON.parse(response.body)
|
139
|
+
UI.message("Failed to unretire app version: %s" % [app_version['Version']])
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
14
143
|
end
|
15
144
|
end
|
16
|
-
end
|
145
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-airwatch_workspaceone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ram Awadhesh Sharan
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -164,7 +164,7 @@ dependencies:
|
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: 2.123.0
|
167
|
-
description:
|
167
|
+
description:
|
168
168
|
email: ram.awadhesh1.618@gmail.com
|
169
169
|
executables: []
|
170
170
|
extensions: []
|
@@ -177,16 +177,18 @@ files:
|
|
177
177
|
- lib/fastlane/plugin/airwatch_workspaceone/actions/delete_previous_versions_action.rb
|
178
178
|
- lib/fastlane/plugin/airwatch_workspaceone/actions/delete_specific_version_action.rb
|
179
179
|
- lib/fastlane/plugin/airwatch_workspaceone/actions/deploy_build_action.rb
|
180
|
+
- lib/fastlane/plugin/airwatch_workspaceone/actions/latest_version_action.rb
|
180
181
|
- lib/fastlane/plugin/airwatch_workspaceone/actions/retire_previous_versions_action.rb
|
181
182
|
- lib/fastlane/plugin/airwatch_workspaceone/actions/retire_specific_version_action.rb
|
182
183
|
- lib/fastlane/plugin/airwatch_workspaceone/actions/unretire_all_versions.rb
|
184
|
+
- lib/fastlane/plugin/airwatch_workspaceone/actions/unretire_specific_version_action.rb
|
183
185
|
- lib/fastlane/plugin/airwatch_workspaceone/helper/airwatch_workspaceone_helper.rb
|
184
186
|
- lib/fastlane/plugin/airwatch_workspaceone/version.rb
|
185
187
|
homepage: https://github.com/letsbondiway/fastlane-plugin-airwatch_workspaceone
|
186
188
|
licenses:
|
187
189
|
- MIT
|
188
190
|
metadata: {}
|
189
|
-
post_install_message:
|
191
|
+
post_install_message:
|
190
192
|
rdoc_options: []
|
191
193
|
require_paths:
|
192
194
|
- lib
|
@@ -201,8 +203,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
201
203
|
- !ruby/object:Gem::Version
|
202
204
|
version: '0'
|
203
205
|
requirements: []
|
204
|
-
rubygems_version: 3.
|
205
|
-
signing_key:
|
206
|
+
rubygems_version: 3.1.2
|
207
|
+
signing_key:
|
206
208
|
specification_version: 4
|
207
209
|
summary: The main purpose of this plugin is to upload an IPA or an APK file to an
|
208
210
|
AirWatch or Workspace ONE enterprise instance/console.
|