gitlab_support_readiness 1.0.11 → 1.0.12
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/lib/support_readiness/calendly/client.rb +64 -0
- data/lib/support_readiness/calendly/configuration.rb +45 -0
- data/lib/support_readiness/calendly/organization_memberships.rb +67 -0
- data/lib/support_readiness/calendly/organizations.rb +123 -0
- data/lib/support_readiness/calendly/users.rb +105 -0
- data/lib/support_readiness/calendly.rb +16 -0
- data/lib/support_readiness/client.rb +88 -1
- data/lib/support_readiness/dates.rb +90 -0
- data/lib/support_readiness/gitlab/configuration.rb +0 -1
- data/lib/support_readiness/gitlab/groups.rb +35 -0
- data/lib/support_readiness/gitlab/markdown.rb +37 -0
- data/lib/support_readiness/gitlab/merge_requests.rb +127 -0
- data/lib/support_readiness/gitlab/namespaces.rb +22 -0
- data/lib/support_readiness/gitlab/projects.rb +36 -1
- data/lib/support_readiness/gitlab/repositories.rb +174 -0
- data/lib/support_readiness/gitlab/users.rb +24 -0
- data/lib/support_readiness/gitlab.rb +2 -0
- data/lib/support_readiness/google_calendar/client.rb +59 -0
- data/lib/support_readiness/google_calendar/configuration.rb +39 -0
- data/lib/support_readiness/google_calendar/events.rb +169 -0
- data/lib/support_readiness/google_calendar.rb +14 -0
- data/lib/support_readiness/mailgun/bounces.rb +103 -0
- data/lib/support_readiness/mailgun/client.rb +65 -0
- data/lib/support_readiness/mailgun/configuration.rb +46 -0
- data/lib/support_readiness/mailgun/emails.rb +95 -0
- data/lib/support_readiness/mailgun.rb +15 -0
- data/lib/support_readiness/pagerduty/escalation_policies.rb +1 -1
- data/lib/support_readiness/pagerduty/schedules.rb +27 -3
- data/lib/support_readiness/pagerduty/services.rb +1 -1
- data/lib/support_readiness/pagerduty/users.rb +197 -0
- data/lib/support_readiness/pagerduty.rb +1 -0
- data/lib/support_readiness/repos/articles.rb +335 -0
- data/lib/support_readiness/repos/automations.rb +247 -0
- data/lib/support_readiness/repos/groups.rb +188 -0
- data/lib/support_readiness/repos/macros.rb +224 -0
- data/lib/support_readiness/repos/organization_fields.rb +193 -0
- data/lib/support_readiness/repos/sla_policies.rb +192 -0
- data/lib/support_readiness/repos/ticket_fields.rb +200 -0
- data/lib/support_readiness/repos/ticket_forms.rb +200 -0
- data/lib/support_readiness/repos/triggers.rb +255 -0
- data/lib/support_readiness/repos/user_fields.rb +201 -0
- data/lib/support_readiness/repos/views.rb +362 -0
- data/lib/support_readiness/repos.rb +22 -0
- data/lib/support_readiness/salesforce/accounts.rb +109 -0
- data/lib/support_readiness/salesforce/cases.rb +109 -0
- data/lib/support_readiness/salesforce/client.rb +64 -0
- data/lib/support_readiness/salesforce/configuration.rb +49 -0
- data/lib/support_readiness/salesforce/queries.rb +62 -0
- data/lib/support_readiness/salesforce.rb +16 -0
- data/lib/support_readiness/slack/client.rb +63 -0
- data/lib/support_readiness/slack/configuration.rb +43 -0
- data/lib/support_readiness/slack/messages.rb +37 -0
- data/lib/support_readiness/slack.rb +14 -0
- data/lib/support_readiness/zendesk/app_job_statuses.rb +140 -0
- data/lib/support_readiness/zendesk/apps.rb +209 -0
- data/lib/support_readiness/zendesk/automations.rb +1 -2
- data/lib/support_readiness/zendesk/macros.rb +1 -3
- data/lib/support_readiness/zendesk/organization_fields.rb +1 -1
- data/lib/support_readiness/zendesk/theme_job_statuses.rb +136 -0
- data/lib/support_readiness/zendesk/themes.rb +303 -0
- data/lib/support_readiness/zendesk/ticket_field_options.rb +110 -0
- data/lib/support_readiness/zendesk/ticket_fields.rb +85 -16
- data/lib/support_readiness/zendesk/ticket_forms.rb +65 -2
- data/lib/support_readiness/zendesk/tickets.rb +77 -0
- data/lib/support_readiness/zendesk/triggers.rb +1 -2
- data/lib/support_readiness/zendesk/user_field_options.rb +110 -0
- data/lib/support_readiness/zendesk/user_fields.rb +257 -0
- data/lib/support_readiness/zendesk/views.rb +49 -2
- data/lib/support_readiness/zendesk.rb +7 -0
- data/lib/support_readiness.rb +16 -0
- metadata +120 -2
@@ -0,0 +1,257 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Defines the module Readiness.
|
4
|
+
module Readiness
|
5
|
+
# Defines the module Zendesk
|
6
|
+
module Zendesk
|
7
|
+
##
|
8
|
+
# Defines the class UserFields within the module {Readiness::Zendesk}.
|
9
|
+
#
|
10
|
+
# @author Jason Colyer
|
11
|
+
# @since 1.0.12
|
12
|
+
class UserFields < Readiness::Client
|
13
|
+
attr_accessor :active, :custom_field_options, :id, :description, :key, :position, :regexp_for_validation, :title, :type
|
14
|
+
|
15
|
+
##
|
16
|
+
# Creates a new {Readiness::Zendesk::UserFields} instance
|
17
|
+
#
|
18
|
+
# @author Jason Colyer
|
19
|
+
# @since 1.0.12
|
20
|
+
# @param client [Object] An instance of {Readiness::Zendesk::Client}
|
21
|
+
# @param object [Object] An instance of {Readiness::Zendesk::UserFields}
|
22
|
+
# @example
|
23
|
+
# require 'support_readiness'
|
24
|
+
# config = Readiness::Zendesk::Configuration.new
|
25
|
+
# config.username = 'alice@example.com'
|
26
|
+
# config.token = 'test123abc'
|
27
|
+
# config.url = 'https://example.zendesk.com/api/v2'
|
28
|
+
# client = Readiness::Zendesk::Client.new(config)
|
29
|
+
# Readiness::Zendesk::UserFields.new(client)
|
30
|
+
def initialize(client, object = {})
|
31
|
+
@active = object['active']
|
32
|
+
@custom_field_options = user_field_options(client, object)
|
33
|
+
@id = object['id']
|
34
|
+
@description = object['description']
|
35
|
+
@key = object['key']
|
36
|
+
@position = object['position']
|
37
|
+
@regexp_for_validation = object['regexp_for_validation']
|
38
|
+
@title = object['title']
|
39
|
+
@type = object['type']
|
40
|
+
end
|
41
|
+
|
42
|
+
##
|
43
|
+
# Gets the user field options for a user field
|
44
|
+
#
|
45
|
+
# @author Jason Colyer
|
46
|
+
# @since 1.0.12
|
47
|
+
# @param client [Object] An instance of {Readiness::Zendesk::Client}
|
48
|
+
# @param object [Varies] Either a Hash from JSON or a {Readiness::Zendesk::UserFields} instance
|
49
|
+
# @return [Array]
|
50
|
+
def user_field_options(client, object)
|
51
|
+
return nil unless %w[dropdown].include? object['type']
|
52
|
+
|
53
|
+
# Handles when the position value is nil
|
54
|
+
object['custom_field_options'].each do |c|
|
55
|
+
c['position'] = object['custom_field_options'].index(c)
|
56
|
+
end
|
57
|
+
object['custom_field_options'].map { |c| UserFieldOptions.new(c) }
|
58
|
+
end
|
59
|
+
|
60
|
+
##
|
61
|
+
# Lists user fields
|
62
|
+
#
|
63
|
+
# @author Jason Colyer
|
64
|
+
# @since 1.0.12
|
65
|
+
# @param client [Object] An instance of {Readiness::Zendesk::Client}
|
66
|
+
# @return [Array]
|
67
|
+
# @see https://developer.zendesk.com/api-reference/ticketing/users/user_fields/#list-user-fields Zendesk API > User Fields > List User Fields
|
68
|
+
# @example
|
69
|
+
# require 'support_readiness'
|
70
|
+
# config = Readiness::Zendesk::Configuration.new
|
71
|
+
# config.username = 'alice@example.com'
|
72
|
+
# config.token = 'test123abc'
|
73
|
+
# config.url = 'https://example.zendesk.com/api/v2'
|
74
|
+
# client = Readiness::Zendesk::Client.new(config)
|
75
|
+
# fields = Readiness::Zendesk::UserFields.list(client)
|
76
|
+
# pp fields.first.id
|
77
|
+
# # => 7
|
78
|
+
def self.list(client)
|
79
|
+
array = []
|
80
|
+
opts = "page[size]=100"
|
81
|
+
loop do
|
82
|
+
response = client.connection.get("user_fields?#{opts}")
|
83
|
+
handle_request_error(0, 'Zendesk', response.status) unless response.status == 200
|
84
|
+
body = Oj.load(response.body)
|
85
|
+
array += body['user_fields'].map { |t| UserFields.new(client, t) }
|
86
|
+
break unless body['meta']['has_more']
|
87
|
+
|
88
|
+
opts = body['links'] ['next'].split('?').last
|
89
|
+
end
|
90
|
+
array
|
91
|
+
end
|
92
|
+
|
93
|
+
|
94
|
+
##
|
95
|
+
# Locates an user field within Zendesk. This will not exit on error (except Authentication errors)
|
96
|
+
#
|
97
|
+
# @author Jason Colyer
|
98
|
+
# @since 1.0.12
|
99
|
+
# @param client [Object] An instance of {Readiness::Zendesk::Client}
|
100
|
+
# @param fid [Integer] The user field ID to locate
|
101
|
+
# @return [Object]
|
102
|
+
# @see https://developer.zendesk.com/api-reference/ticketing/users/user_fields/#show-user-field Zendesk API > User Fields > Show User Fiueld
|
103
|
+
# @example
|
104
|
+
# require 'support_readiness'
|
105
|
+
# config = Readiness::Zendesk::Configuration.new
|
106
|
+
# config.username = 'alice@example.com'
|
107
|
+
# config.token = 'test123abc'
|
108
|
+
# config.url = 'https://example.zendesk.com/api/v2'
|
109
|
+
# client = Readiness::Zendesk::Client.new(config)
|
110
|
+
# field = Readiness::Zendesk::UserFields.find(client, 7)
|
111
|
+
# pp field.title
|
112
|
+
# # => "Custom Field 1"
|
113
|
+
def self.find(client, fid)
|
114
|
+
response = client.connection.get "user_fields/#{fid}"
|
115
|
+
handle_request_error(0, 'Zendesk', response.status, { action: 'get', id: fid }) unless response.status == 200
|
116
|
+
return UserFields.new(client, Oj.load(response.body)['user_field']) if response.status == 200
|
117
|
+
|
118
|
+
Oj.load(response.body)
|
119
|
+
end
|
120
|
+
|
121
|
+
##
|
122
|
+
# Locates an user field within Zendesk. This will exit on error
|
123
|
+
#
|
124
|
+
# @author Jason Colyer
|
125
|
+
# @since 1.0.12
|
126
|
+
# @param client [Object] An instance of {Readiness::Zendesk::Client}
|
127
|
+
# @param fid [Integer] The user field ID to locate
|
128
|
+
# @return [Object]
|
129
|
+
# @see https://developer.zendesk.com/api-reference/ticketing/users/user_fields/#show-user-field Zendesk API > User Fields > Show User Fiueld
|
130
|
+
# @example
|
131
|
+
# require 'support_readiness'
|
132
|
+
# config = Readiness::Zendesk::Configuration.new
|
133
|
+
# config.username = 'alice@example.com'
|
134
|
+
# config.token = 'test123abc'
|
135
|
+
# config.url = 'https://example.zendesk.com/api/v2'
|
136
|
+
# client = Readiness::Zendesk::Client.new(config)
|
137
|
+
# field = Readiness::Zendesk::UserFields.find!(client, 7)
|
138
|
+
# pp field.name
|
139
|
+
# # => "Custom Field 1"
|
140
|
+
def self.find!(client, fid)
|
141
|
+
response = client.connection.get "user_fields/#{fid}"
|
142
|
+
handle_request_error(1, 'Zendesk', response.status, { action: 'Find user field', id: fid }) unless response.status == 200
|
143
|
+
UserFields.new(client, Oj.load(response.body)['user_field'])
|
144
|
+
end
|
145
|
+
|
146
|
+
##
|
147
|
+
# Creates an user field. Will exit if unsuccessful
|
148
|
+
#
|
149
|
+
# @author Jason Colyer
|
150
|
+
# @since 1.0.12
|
151
|
+
# @param client [Object] An instance of {Readiness::Zendesk::Client}
|
152
|
+
# @param field [Object] An instance of {Readiness::Zendesk::UserFields}
|
153
|
+
# @return [Object] An instance of {Readiness::Zendesk::UserFields}
|
154
|
+
# @see https://developer.zendesk.com/api-reference/ticketing/users/user_fields/#create-user-field Zendesk API > User Fields > Create User Field
|
155
|
+
# @example
|
156
|
+
# require 'support_readiness'
|
157
|
+
# config = Readiness::Zendesk::Configuration.new
|
158
|
+
# config.username = 'alice@example.com'
|
159
|
+
# config.token = 'test123abc'
|
160
|
+
# config.url = 'https://example.zendesk.com/api/v2'
|
161
|
+
# client = Readiness::Zendesk::Client.new(config)
|
162
|
+
# field = Readiness::Zendesk::UserFields.new
|
163
|
+
# field.type = 'text'
|
164
|
+
# field.title = 'Support desc'
|
165
|
+
# field.description = 'This field describes the support plan this organization has'
|
166
|
+
# field.position = 0
|
167
|
+
# field.active = true
|
168
|
+
# field.key = 'support_description'
|
169
|
+
# create = Readiness::Zendesk::UserFields.create!(client, field)
|
170
|
+
# pp create.id
|
171
|
+
# # => 25
|
172
|
+
def self.create!(client, field)
|
173
|
+
response = client.connection.post 'user_fields', to_clean_json_with_key(field, 'user_field')
|
174
|
+
handle_request_error(1, 'Zendesk', response.status, { action: 'Create user field', message: Oj.load(response.body)}) unless response.status == 201
|
175
|
+
UserFields.new(client, Oj.load(response.body)['user_field'])
|
176
|
+
end
|
177
|
+
|
178
|
+
##
|
179
|
+
# Updates an user field. Will exit if unsuccessful
|
180
|
+
#
|
181
|
+
# @author Jason Colyer
|
182
|
+
# @since 1.0.12
|
183
|
+
# @param client [Object] An instance of {Readiness::Zendesk::Client}
|
184
|
+
# @param field [Object] An instance of {Readiness::Zendesk::UserFields}
|
185
|
+
# @return [Object] An instance of {Readiness::Zendesk::UserFields}
|
186
|
+
# @see https://developer.zendesk.com/api-reference/ticketing/users/user_fields/#update-user-field Zendesk API > User Fields > Update User Field
|
187
|
+
# @example
|
188
|
+
# require 'support_readiness'
|
189
|
+
# config = Readiness::Zendesk::Configuration.new
|
190
|
+
# config.username = 'alice@example.com'
|
191
|
+
# config.token = 'test123abc'
|
192
|
+
# config.url = 'https://example.zendesk.com/api/v2'
|
193
|
+
# client = Readiness::Zendesk::Client.new(config)
|
194
|
+
# field = Readiness::Zendesk::UserFields.find!(client, 75)
|
195
|
+
# field.title = 'Support description'
|
196
|
+
# update = Readiness::Zendesk::UserFields.update!(client, field)
|
197
|
+
# pp update.title
|
198
|
+
# # => "Support description"
|
199
|
+
def self.update!(client, field)
|
200
|
+
response = client.connection.put "user_fields/#{field.id}", to_clean_json_with_key(field, 'user_field')
|
201
|
+
handle_request_error(1, 'Zendesk', response.status, { action: 'Update user field', message: Oj.load(response.body)}) unless response.status == 200
|
202
|
+
UserFields.new(client, Oj.load(response.body)['user_field'])
|
203
|
+
end
|
204
|
+
|
205
|
+
##
|
206
|
+
# Deletes an user field. Will exit if unsuccessful
|
207
|
+
#
|
208
|
+
# @author Jason Colyer
|
209
|
+
# @since 1.0.12
|
210
|
+
# @param client [Object] An instance of {Readiness::Zendesk::Client}
|
211
|
+
# @param field [Object] An instance of {Readiness::Zendesk::UserFields}
|
212
|
+
# @return [Boolean]
|
213
|
+
# @see https://developer.zendesk.com/api-reference/ticketing/users/user_fields/#delete-user-field Zendesk API > User Fields > Delete User Field
|
214
|
+
# @example
|
215
|
+
# require 'support_readiness'
|
216
|
+
# config = Readiness::Zendesk::Configuration.new
|
217
|
+
# config.username = 'alice@example.com'
|
218
|
+
# config.token = 'test123abc'
|
219
|
+
# config.url = 'https://example.zendesk.com/api/v2'
|
220
|
+
# client = Readiness::Zendesk::Client.new(config)
|
221
|
+
# field = Readiness::Zendesk::UserFields.find!(client, 75)
|
222
|
+
# delete = Readiness::Zendesk::UserFields.delete!(client, field)
|
223
|
+
# pp delete
|
224
|
+
# # => true
|
225
|
+
def self.delete!(client, field)
|
226
|
+
response = client.connection.delete "user_fields/#{field.id}"
|
227
|
+
handle_request_error(1, 'Zendesk', response.status, { action: 'Delete user field', id: field.id, message: Oj.load(response.body)}) unless response.status == 204
|
228
|
+
true
|
229
|
+
end
|
230
|
+
|
231
|
+
##
|
232
|
+
# Reorders user fields. Will exit if unsuccessful
|
233
|
+
#
|
234
|
+
# @author Jason Colyer
|
235
|
+
# @since 1.0.0
|
236
|
+
# @param client [Object] An instance of {Readiness::Zendesk::Client}
|
237
|
+
# @param fids [Array] An Array of field IDs (order is important)
|
238
|
+
# @return [Boolean]
|
239
|
+
# @see https://developer.zendesk.com/api-reference/ticketing/users/user_fields/#reorder-user-field Zendesk API > User Fields > Reorder User Field
|
240
|
+
# @example
|
241
|
+
# require 'support_readiness'
|
242
|
+
# config = Readiness::Zendesk::Configuration.new
|
243
|
+
# config.username = 'alice@example.com'
|
244
|
+
# config.token = 'test123abc'
|
245
|
+
# config.url = 'https://example.zendesk.com/api/v2'
|
246
|
+
# client = Readiness::Zendesk::Client.new(config)
|
247
|
+
# reorder = Readiness::Zendesk::UserFields.reorder!(client, [4, 5, 2, 8])
|
248
|
+
# pp reorder
|
249
|
+
# # => true
|
250
|
+
def self.reorder!(client, fids)
|
251
|
+
response = client.connection.put 'user_fields/reorder', { user_field_ids: fids }.to_json
|
252
|
+
handle_request_error(1, 'Zendesk', response.status, { action: 'Reorder user fields', id: fids, message: Oj.load(response.body)}) unless response.status == 200
|
253
|
+
true
|
254
|
+
end
|
255
|
+
end
|
256
|
+
end
|
257
|
+
end
|
@@ -10,7 +10,7 @@ module Readiness
|
|
10
10
|
# @author Jason Colyer
|
11
11
|
# @since 1.0.0
|
12
12
|
class Views < Readiness::Client
|
13
|
-
attr_accessor :active, :conditions, :
|
13
|
+
attr_accessor :active, :conditions, :description, :execution, :id, :position, :restriction, :title
|
14
14
|
|
15
15
|
##
|
16
16
|
# Creates a new {Readiness::Zendesk::Views} instance
|
@@ -24,7 +24,6 @@ module Readiness
|
|
24
24
|
def initialize(object = {})
|
25
25
|
@active = object['active']
|
26
26
|
@conditions = object['conditions']
|
27
|
-
@default = object['default']
|
28
27
|
@description = object['description']
|
29
28
|
@execution = object['execution']
|
30
29
|
@id = object['id']
|
@@ -143,6 +142,54 @@ module Readiness
|
|
143
142
|
Oj.load(response.body)['views'].map { |o| Views.new(o) }
|
144
143
|
end
|
145
144
|
|
145
|
+
##
|
146
|
+
# Locates a view within Zendesk by name. This will not exit on error (except Authentication errors)
|
147
|
+
#
|
148
|
+
# @author Jason Colyer
|
149
|
+
# @since 1.0.12
|
150
|
+
# @param client [Object] An instance of {Readiness::Zendesk::Client}
|
151
|
+
# @param name [String] The view name to look for
|
152
|
+
# @return [Object] An instance of {Readiness::Zendesk::Views}
|
153
|
+
# @example
|
154
|
+
# require 'support_readiness'
|
155
|
+
# config = Readiness::Zendesk::Configuration.new
|
156
|
+
# config.username = 'alice@example.com'
|
157
|
+
# config.token = 'test123abc'
|
158
|
+
# config.url = 'https://example.zendesk.com/api/v2'
|
159
|
+
# client = Readiness::Zendesk::Client.new(config)
|
160
|
+
# field = Readiness::Zendesk::Views.find_by_name(client, 'Tickets updated less than 12 Hours')
|
161
|
+
# pp field.id
|
162
|
+
# # => 25
|
163
|
+
def self.find_by_name(client, name)
|
164
|
+
views = Views.list(client)
|
165
|
+
views.detect { |v| v.title == name }
|
166
|
+
end
|
167
|
+
|
168
|
+
##
|
169
|
+
# Locates a view within Zendesk by name. This will exit on error
|
170
|
+
#
|
171
|
+
# @author Jason Colyer
|
172
|
+
# @since 1.0.12
|
173
|
+
# @param client [Object] An instance of {Readiness::Zendesk::Client}
|
174
|
+
# @param name [String] The view name to look for
|
175
|
+
# @return [Object] An instance of {Readiness::Zendesk::Views}
|
176
|
+
# @example
|
177
|
+
# require 'support_readiness'
|
178
|
+
# config = Readiness::Zendesk::Configuration.new
|
179
|
+
# config.username = 'alice@example.com'
|
180
|
+
# config.token = 'test123abc'
|
181
|
+
# config.url = 'https://example.zendesk.com/api/v2'
|
182
|
+
# client = Readiness::Zendesk::Client.new(config)
|
183
|
+
# field = Readiness::Zendesk::Views.find_by_name!(client, 'Tickets updated less than 12 Hours')
|
184
|
+
# pp field.id
|
185
|
+
# # => 25
|
186
|
+
def self.find_by_name!(client, name)
|
187
|
+
views = Views.list(client)
|
188
|
+
view = views.detect { |v| v.title == name }
|
189
|
+
handle_request_error(1, 'Zendesk', 404, { action: 'Find view', id: name }) if view.nil?
|
190
|
+
view
|
191
|
+
end
|
192
|
+
|
146
193
|
##
|
147
194
|
# Creates a view. Will exit if unsuccessful
|
148
195
|
#
|
@@ -7,6 +7,8 @@ module Readiness
|
|
7
7
|
# @author Jason Colyer
|
8
8
|
# @since 1.0.0
|
9
9
|
module Zendesk
|
10
|
+
require "#{__dir__}/zendesk/app_job_statuses"
|
11
|
+
require "#{__dir__}/zendesk/apps"
|
10
12
|
require "#{__dir__}/zendesk/articles"
|
11
13
|
require "#{__dir__}/zendesk/automations"
|
12
14
|
require "#{__dir__}/zendesk/client"
|
@@ -21,10 +23,15 @@ module Readiness
|
|
21
23
|
require "#{__dir__}/zendesk/roles"
|
22
24
|
require "#{__dir__}/zendesk/search"
|
23
25
|
require "#{__dir__}/zendesk/sla_policies"
|
26
|
+
require "#{__dir__}/zendesk/theme_job_statuses"
|
27
|
+
require "#{__dir__}/zendesk/themes"
|
24
28
|
require "#{__dir__}/zendesk/ticket_fields"
|
29
|
+
require "#{__dir__}/zendesk/ticket_field_options"
|
25
30
|
require "#{__dir__}/zendesk/ticket_forms"
|
26
31
|
require "#{__dir__}/zendesk/tickets"
|
27
32
|
require "#{__dir__}/zendesk/triggers"
|
33
|
+
require "#{__dir__}/zendesk/user_field_options"
|
34
|
+
require "#{__dir__}/zendesk/user_fields"
|
28
35
|
require "#{__dir__}/zendesk/users"
|
29
36
|
require "#{__dir__}/zendesk/views"
|
30
37
|
end
|
data/lib/support_readiness.rb
CHANGED
@@ -17,11 +17,27 @@ require 'erb'
|
|
17
17
|
require 'faraday'
|
18
18
|
require 'faraday/multipart'
|
19
19
|
require 'faraday/retry'
|
20
|
+
require 'google/apis/calendar_v3'
|
20
21
|
require 'json'
|
22
|
+
require 'nokogiri'
|
21
23
|
require 'oj'
|
22
24
|
require 'redis'
|
25
|
+
require 'restforce'
|
26
|
+
require 'yaml'
|
27
|
+
require 'zip'
|
28
|
+
|
29
|
+
# This one should always be first
|
23
30
|
require "#{__dir__}/support_readiness/client"
|
31
|
+
|
32
|
+
# Order does not matter here
|
33
|
+
require "#{__dir__}/support_readiness/calendly"
|
34
|
+
require "#{__dir__}/support_readiness/dates"
|
24
35
|
require "#{__dir__}/support_readiness/gitlab"
|
36
|
+
require "#{__dir__}/support_readiness/google_calendar"
|
37
|
+
require "#{__dir__}/support_readiness/mailgun"
|
25
38
|
require "#{__dir__}/support_readiness/pagerduty"
|
26
39
|
require "#{__dir__}/support_readiness/redis"
|
40
|
+
require "#{__dir__}/support_readiness/repos"
|
41
|
+
require "#{__dir__}/support_readiness/salesforce"
|
42
|
+
require "#{__dir__}/support_readiness/slack"
|
27
43
|
require "#{__dir__}/support_readiness/zendesk"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitlab_support_readiness
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Colyer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-10-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -114,6 +114,20 @@ dependencies:
|
|
114
114
|
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: 2.2.1
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: google-apis-calendar_v3
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: 0.43.0
|
124
|
+
type: :runtime
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - "~>"
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: 0.43.0
|
117
131
|
- !ruby/object:Gem::Dependency
|
118
132
|
name: json
|
119
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,6 +142,20 @@ dependencies:
|
|
128
142
|
- - "~>"
|
129
143
|
- !ruby/object:Gem::Version
|
130
144
|
version: 2.7.1
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: nokogiri
|
147
|
+
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - "~>"
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: 1.16.7
|
152
|
+
type: :runtime
|
153
|
+
prerelease: false
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - "~>"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: 1.16.7
|
131
159
|
- !ruby/object:Gem::Dependency
|
132
160
|
name: oj
|
133
161
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,6 +184,48 @@ dependencies:
|
|
156
184
|
- - "~>"
|
157
185
|
- !ruby/object:Gem::Version
|
158
186
|
version: 5.0.8
|
187
|
+
- !ruby/object:Gem::Dependency
|
188
|
+
name: restforce
|
189
|
+
requirement: !ruby/object:Gem::Requirement
|
190
|
+
requirements:
|
191
|
+
- - "~>"
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: 7.5.0
|
194
|
+
type: :runtime
|
195
|
+
prerelease: false
|
196
|
+
version_requirements: !ruby/object:Gem::Requirement
|
197
|
+
requirements:
|
198
|
+
- - "~>"
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: 7.5.0
|
201
|
+
- !ruby/object:Gem::Dependency
|
202
|
+
name: rubyzip
|
203
|
+
requirement: !ruby/object:Gem::Requirement
|
204
|
+
requirements:
|
205
|
+
- - "~>"
|
206
|
+
- !ruby/object:Gem::Version
|
207
|
+
version: 2.3.2
|
208
|
+
type: :runtime
|
209
|
+
prerelease: false
|
210
|
+
version_requirements: !ruby/object:Gem::Requirement
|
211
|
+
requirements:
|
212
|
+
- - "~>"
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: 2.3.2
|
215
|
+
- !ruby/object:Gem::Dependency
|
216
|
+
name: yaml
|
217
|
+
requirement: !ruby/object:Gem::Requirement
|
218
|
+
requirements:
|
219
|
+
- - "~>"
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: 0.3.0
|
222
|
+
type: :runtime
|
223
|
+
prerelease: false
|
224
|
+
version_requirements: !ruby/object:Gem::Requirement
|
225
|
+
requirements:
|
226
|
+
- - "~>"
|
227
|
+
- !ruby/object:Gem::Version
|
228
|
+
version: 0.3.0
|
159
229
|
description: Official gem of GitLab Support Readiness
|
160
230
|
email: jcolyer@gitlab.com
|
161
231
|
executables: []
|
@@ -163,24 +233,67 @@ extensions: []
|
|
163
233
|
extra_rdoc_files: []
|
164
234
|
files:
|
165
235
|
- lib/support_readiness.rb
|
236
|
+
- lib/support_readiness/calendly.rb
|
237
|
+
- lib/support_readiness/calendly/client.rb
|
238
|
+
- lib/support_readiness/calendly/configuration.rb
|
239
|
+
- lib/support_readiness/calendly/organization_memberships.rb
|
240
|
+
- lib/support_readiness/calendly/organizations.rb
|
241
|
+
- lib/support_readiness/calendly/users.rb
|
166
242
|
- lib/support_readiness/client.rb
|
243
|
+
- lib/support_readiness/dates.rb
|
167
244
|
- lib/support_readiness/gitlab.rb
|
168
245
|
- lib/support_readiness/gitlab/client.rb
|
169
246
|
- lib/support_readiness/gitlab/configuration.rb
|
170
247
|
- lib/support_readiness/gitlab/groups.rb
|
171
248
|
- lib/support_readiness/gitlab/issues.rb
|
249
|
+
- lib/support_readiness/gitlab/markdown.rb
|
250
|
+
- lib/support_readiness/gitlab/merge_requests.rb
|
172
251
|
- lib/support_readiness/gitlab/namespaces.rb
|
173
252
|
- lib/support_readiness/gitlab/projects.rb
|
174
253
|
- lib/support_readiness/gitlab/repositories.rb
|
175
254
|
- lib/support_readiness/gitlab/users.rb
|
255
|
+
- lib/support_readiness/google_calendar.rb
|
256
|
+
- lib/support_readiness/google_calendar/client.rb
|
257
|
+
- lib/support_readiness/google_calendar/configuration.rb
|
258
|
+
- lib/support_readiness/google_calendar/events.rb
|
259
|
+
- lib/support_readiness/mailgun.rb
|
260
|
+
- lib/support_readiness/mailgun/bounces.rb
|
261
|
+
- lib/support_readiness/mailgun/client.rb
|
262
|
+
- lib/support_readiness/mailgun/configuration.rb
|
263
|
+
- lib/support_readiness/mailgun/emails.rb
|
176
264
|
- lib/support_readiness/pagerduty.rb
|
177
265
|
- lib/support_readiness/pagerduty/client.rb
|
178
266
|
- lib/support_readiness/pagerduty/configuration.rb
|
179
267
|
- lib/support_readiness/pagerduty/escalation_policies.rb
|
180
268
|
- lib/support_readiness/pagerduty/schedules.rb
|
181
269
|
- lib/support_readiness/pagerduty/services.rb
|
270
|
+
- lib/support_readiness/pagerduty/users.rb
|
182
271
|
- lib/support_readiness/redis.rb
|
272
|
+
- lib/support_readiness/repos.rb
|
273
|
+
- lib/support_readiness/repos/articles.rb
|
274
|
+
- lib/support_readiness/repos/automations.rb
|
275
|
+
- lib/support_readiness/repos/groups.rb
|
276
|
+
- lib/support_readiness/repos/macros.rb
|
277
|
+
- lib/support_readiness/repos/organization_fields.rb
|
278
|
+
- lib/support_readiness/repos/sla_policies.rb
|
279
|
+
- lib/support_readiness/repos/ticket_fields.rb
|
280
|
+
- lib/support_readiness/repos/ticket_forms.rb
|
281
|
+
- lib/support_readiness/repos/triggers.rb
|
282
|
+
- lib/support_readiness/repos/user_fields.rb
|
283
|
+
- lib/support_readiness/repos/views.rb
|
284
|
+
- lib/support_readiness/salesforce.rb
|
285
|
+
- lib/support_readiness/salesforce/accounts.rb
|
286
|
+
- lib/support_readiness/salesforce/cases.rb
|
287
|
+
- lib/support_readiness/salesforce/client.rb
|
288
|
+
- lib/support_readiness/salesforce/configuration.rb
|
289
|
+
- lib/support_readiness/salesforce/queries.rb
|
290
|
+
- lib/support_readiness/slack.rb
|
291
|
+
- lib/support_readiness/slack/client.rb
|
292
|
+
- lib/support_readiness/slack/configuration.rb
|
293
|
+
- lib/support_readiness/slack/messages.rb
|
183
294
|
- lib/support_readiness/zendesk.rb
|
295
|
+
- lib/support_readiness/zendesk/app_job_statuses.rb
|
296
|
+
- lib/support_readiness/zendesk/apps.rb
|
184
297
|
- lib/support_readiness/zendesk/articles.rb
|
185
298
|
- lib/support_readiness/zendesk/automations.rb
|
186
299
|
- lib/support_readiness/zendesk/client.rb
|
@@ -195,10 +308,15 @@ files:
|
|
195
308
|
- lib/support_readiness/zendesk/roles.rb
|
196
309
|
- lib/support_readiness/zendesk/search.rb
|
197
310
|
- lib/support_readiness/zendesk/sla_policies.rb
|
311
|
+
- lib/support_readiness/zendesk/theme_job_statuses.rb
|
312
|
+
- lib/support_readiness/zendesk/themes.rb
|
313
|
+
- lib/support_readiness/zendesk/ticket_field_options.rb
|
198
314
|
- lib/support_readiness/zendesk/ticket_fields.rb
|
199
315
|
- lib/support_readiness/zendesk/ticket_forms.rb
|
200
316
|
- lib/support_readiness/zendesk/tickets.rb
|
201
317
|
- lib/support_readiness/zendesk/triggers.rb
|
318
|
+
- lib/support_readiness/zendesk/user_field_options.rb
|
319
|
+
- lib/support_readiness/zendesk/user_fields.rb
|
202
320
|
- lib/support_readiness/zendesk/users.rb
|
203
321
|
- lib/support_readiness/zendesk/views.rb
|
204
322
|
homepage: https://gitlab.com/gitlab-support-readiness/gitlab_support_readiness_gem
|