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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f7aff48dd5eff958501e5e21f78713b7e2906f9e
4
- data.tar.gz: d267db414baabe7ced86ec3e1b196c08fb0346e2
2
+ SHA256:
3
+ metadata.gz: cbc9fd13362aa145c08d79257d11b41d61df1ae6e40ad4ce9dd849343d79b43d
4
+ data.tar.gz: 351f8e6f2e5da95f28a950581c744149e4d445de1a5e1054ff6a652bdef326f8
5
5
  SHA512:
6
- metadata.gz: a87b22e67e6489bb6d619b24d5ba7ac670e9322a500b06aaf32014328917bdf496d779ae554c83a39258979a6583dfa5a57f2ec3ffd0c432d024d4c14430ab4b
7
- data.tar.gz: 19b7439b1574327c9b53cac0448db136cc1d2f3be29da878d75d597d5cba7f038c8204bf270295ec6e6ba32c0980ffcd4e20737d3121ca269fa58522d4ffd908
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.29.9
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: 2021-08-19 00:00:00.000000000 Z
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: 1.8.5
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: 1.8.5
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.49.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.49.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
- rubyforge_project:
343
- rubygems_version: 2.6.8
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: []