zendesk_apps_support 4.29.9 → 4.31.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 +5 -5
- data/README.md +0 -6
- data/lib/zendesk_apps_support/app_requirement.rb +2 -1
- data/lib/zendesk_apps_support/validations/requirements.rb +22 -1
- metadata +26 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cbc9fd13362aa145c08d79257d11b41d61df1ae6e40ad4ce9dd849343d79b43d
|
4
|
+
data.tar.gz: 351f8e6f2e5da95f28a950581c744149e4d445de1a5e1054ff6a652bdef326f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf545fb8709e9183891d82c4eeb3bafbc4aab436f658c956591e205390abe5119670c647b848c9a2d25c770571d1f136daa0b9c9ae4fd9cea864bc3e6b41f30d
|
7
|
+
data.tar.gz: 5f2724bf3b60e2de9affb773176de16effa2617d5876f7afa798b8c2aa0bcbfceafa81f9db959a3d004dd5577107e204d12ab7f568aae14cf306748be723c283
|
data/README.md
CHANGED
@@ -9,12 +9,6 @@ This repo is owned and maintained by the Zendesk Apps team. You can reach us on
|
|
9
9
|
## Getting Started
|
10
10
|
When you want to help **develop** this tool, you will need to clone this repo.
|
11
11
|
|
12
|
-
Since ZAS is used in ZAT, which supports Ruby 2.1, the Bundler Gem Version 1.17.3 is required for bundling dependencies. If you are working with a version that is higher than `1.17.3`, you will need to downgrade it.
|
13
|
-
```
|
14
|
-
$ gem install bundler --version 1.17.3
|
15
|
-
$ bundle install
|
16
|
-
```
|
17
|
-
|
18
12
|
Very likely you want to try out your changes with the use of ZAT. See [ZAT](https://github.com/zendesk/zendesk_apps_tools/) for how to get ZAT/ZAS in development.
|
19
13
|
|
20
14
|
## Testing
|
@@ -2,10 +2,11 @@
|
|
2
2
|
|
3
3
|
module ZendeskAppsSupport
|
4
4
|
class AppRequirement
|
5
|
+
WEBHOOKS_KEY = 'webhooks'
|
5
6
|
CUSTOM_OBJECTS_KEY = 'custom_objects'
|
6
7
|
CUSTOM_OBJECTS_TYPE_KEY = 'custom_object_types'
|
7
8
|
CUSTOM_OBJECTS_RELATIONSHIP_TYPE_KEY = 'custom_object_relationship_types'
|
8
9
|
TYPES = %w[automations channel_integrations custom_objects macros targets views ticket_fields
|
9
|
-
triggers user_fields organization_fields].freeze
|
10
|
+
triggers user_fields organization_fields webhooks].freeze
|
10
11
|
end
|
11
12
|
end
|
@@ -29,6 +29,7 @@ module ZendeskAppsSupport
|
|
29
29
|
errors << invalid_channel_integrations(requirements)
|
30
30
|
errors << invalid_custom_fields(requirements)
|
31
31
|
errors << invalid_custom_objects(requirements)
|
32
|
+
errors << invalid_webhooks(requirements)
|
32
33
|
errors << missing_required_fields(requirements)
|
33
34
|
errors.flatten!
|
34
35
|
errors.compact!
|
@@ -46,7 +47,7 @@ module ZendeskAppsSupport
|
|
46
47
|
def missing_required_fields(requirements)
|
47
48
|
[].tap do |errors|
|
48
49
|
requirements.each do |requirement_type, requirement|
|
49
|
-
next if %w[channel_integrations custom_objects].include? requirement_type
|
50
|
+
next if %w[channel_integrations custom_objects webhooks].include? requirement_type
|
50
51
|
requirement.each do |identifier, fields|
|
51
52
|
next if fields.nil? || fields.include?('title')
|
52
53
|
errors << ValidationError.new(:missing_required_fields,
|
@@ -107,6 +108,26 @@ module ZendeskAppsSupport
|
|
107
108
|
end
|
108
109
|
end
|
109
110
|
|
111
|
+
def invalid_webhooks(requirements)
|
112
|
+
webhook_requirements = requirements[AppRequirement::WEBHOOKS_KEY]
|
113
|
+
|
114
|
+
return if webhook_requirements.nil?
|
115
|
+
|
116
|
+
validate_webhook_keys(webhook_requirements)
|
117
|
+
end
|
118
|
+
|
119
|
+
def validate_webhook_keys(webhook_requirements)
|
120
|
+
required_keys = %w[name status endpoint http_method request_format]
|
121
|
+
|
122
|
+
missing_keys = required_keys - webhook_requirements.keys
|
123
|
+
|
124
|
+
missing_keys.map do |key|
|
125
|
+
ValidationError.new(:missing_required_fields,
|
126
|
+
field: key,
|
127
|
+
identifier: AppRequirement::WEBHOOKS_KEY)
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
110
131
|
def invalid_custom_objects(requirements)
|
111
132
|
custom_objects = requirements[AppRequirement::CUSTOM_OBJECTS_KEY]
|
112
133
|
return if custom_objects.nil?
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zendesk_apps_support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.31.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James A. Rosen
|
8
8
|
- Likun Liu
|
9
9
|
- Sean Caffery
|
10
10
|
- Daniel Ribeiro
|
11
|
-
autorequire:
|
11
|
+
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2022-02-03 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: i18n
|
@@ -117,20 +117,14 @@ dependencies:
|
|
117
117
|
requirements:
|
118
118
|
- - ">="
|
119
119
|
- !ruby/object:Gem::Version
|
120
|
-
version:
|
121
|
-
- - "<"
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
version: 1.11.0
|
120
|
+
version: '0'
|
124
121
|
type: :runtime
|
125
122
|
prerelease: false
|
126
123
|
version_requirements: !ruby/object:Gem::Requirement
|
127
124
|
requirements:
|
128
125
|
- - ">="
|
129
126
|
- !ruby/object:Gem::Version
|
130
|
-
version:
|
131
|
-
- - "<"
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: 1.11.0
|
127
|
+
version: '0'
|
134
128
|
- !ruby/object:Gem::Dependency
|
135
129
|
name: rb-inotify
|
136
130
|
requirement: !ruby/object:Gem::Requirement
|
@@ -219,16 +213,16 @@ dependencies:
|
|
219
213
|
name: rubocop
|
220
214
|
requirement: !ruby/object:Gem::Requirement
|
221
215
|
requirements:
|
222
|
-
- - "
|
216
|
+
- - ">="
|
223
217
|
- !ruby/object:Gem::Version
|
224
|
-
version: 0
|
218
|
+
version: '0'
|
225
219
|
type: :development
|
226
220
|
prerelease: false
|
227
221
|
version_requirements: !ruby/object:Gem::Requirement
|
228
222
|
requirements:
|
229
|
-
- - "
|
223
|
+
- - ">="
|
230
224
|
- !ruby/object:Gem::Version
|
231
|
-
version: 0
|
225
|
+
version: '0'
|
232
226
|
- !ruby/object:Gem::Dependency
|
233
227
|
name: byebug
|
234
228
|
requirement: !ruby/object:Gem::Requirement
|
@@ -271,6 +265,20 @@ dependencies:
|
|
271
265
|
- - '='
|
272
266
|
- !ruby/object:Gem::Version
|
273
267
|
version: 1.12.1
|
268
|
+
- !ruby/object:Gem::Dependency
|
269
|
+
name: rake
|
270
|
+
requirement: !ruby/object:Gem::Requirement
|
271
|
+
requirements:
|
272
|
+
- - ">="
|
273
|
+
- !ruby/object:Gem::Version
|
274
|
+
version: '0'
|
275
|
+
type: :development
|
276
|
+
prerelease: false
|
277
|
+
version_requirements: !ruby/object:Gem::Requirement
|
278
|
+
requirements:
|
279
|
+
- - ">="
|
280
|
+
- !ruby/object:Gem::Version
|
281
|
+
version: '0'
|
274
282
|
description: Support to help you develop Zendesk Apps.
|
275
283
|
email:
|
276
284
|
- dev@zendesk.com
|
@@ -324,7 +332,7 @@ homepage: http://github.com/zendesk/zendesk_apps_support
|
|
324
332
|
licenses:
|
325
333
|
- Apache License Version 2.0
|
326
334
|
metadata: {}
|
327
|
-
post_install_message:
|
335
|
+
post_install_message:
|
328
336
|
rdoc_options: []
|
329
337
|
require_paths:
|
330
338
|
- lib
|
@@ -339,9 +347,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
339
347
|
- !ruby/object:Gem::Version
|
340
348
|
version: 1.3.6
|
341
349
|
requirements: []
|
342
|
-
|
343
|
-
|
344
|
-
signing_key:
|
350
|
+
rubygems_version: 3.0.1
|
351
|
+
signing_key:
|
345
352
|
specification_version: 4
|
346
353
|
summary: Support to help you develop Zendesk Apps.
|
347
354
|
test_files: []
|