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 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: []