zendesk_apps_support 4.29.9 → 4.31.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|