zendesk_apps_support 4.11.2 → 4.12.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
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b15fb4519e8970b7d758ba52fb983894d0453f763d10949c24881298997aaf80
|
4
|
+
data.tar.gz: 67bc5ddfa7ecbd027a953c89272bdce33d2265cf956a793212f946519bd2c956
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b3b5456c6c059dc6b196115746930319066327074eadbad36f38e92173acae0ef76650cdc827f99e67d9de1059f093e5a166ac147cf02958a06ee2639d80494
|
7
|
+
data.tar.gz: 8d789571704c1164d949cd4eb9395b42301f5919b9547f58f45226b235abf771f9b4576ec4094b8a2d5e4e394d7fe34a2b6cd4d7bb234f3ce711bc985f5c5cdb
|
data/config/locales/en.yml
CHANGED
@@ -54,6 +54,9 @@ en:
|
|
54
54
|
other: 'requirements.json contains invalid types: %{invalid_types}'
|
55
55
|
multiple_channel_integrations: Specifying multiple channel integrations
|
56
56
|
in requirements.json is not supported.
|
57
|
+
invalid_cr_schema_keys:
|
58
|
+
one: 'Custom resources schema contains an invalid key: %{invalid_keys}'
|
59
|
+
other: 'Custom resources schema contains invalid keys: %{invalid_keys}'
|
57
60
|
banner:
|
58
61
|
invalid_format: Banner image must be a PNG file.
|
59
62
|
invalid_size: Invalid banner image dimensions. Must be %{required_banner_width}x%{required_banner_height}px.
|
@@ -8,7 +8,7 @@ packages:
|
|
8
8
|
|
9
9
|
parts:
|
10
10
|
- translation:
|
11
|
-
key: "txt.apps.admin.error.app_build.jshint.one"
|
11
|
+
key: "txt.apps.admin.error.app_build.jshint.one"
|
12
12
|
title: "App builder job: JSHint error message"
|
13
13
|
value: "JSHint error in %{file}: %{errors}"
|
14
14
|
- translation:
|
@@ -119,6 +119,16 @@ parts:
|
|
119
119
|
key: "txt.apps.admin.error.app_build.multiple_channel_integrations"
|
120
120
|
title: "App builder job: requirements file contains multiple channel integrations, leave requirements.json as is (file name)"
|
121
121
|
value: "Specifying multiple channel integrations in requirements.json is not supported."
|
122
|
+
- translation:
|
123
|
+
key: "txt.apps.admin.error.app_build.invalid_cr_schema_keys.one"
|
124
|
+
title: "App builder job: custom resources schema contains invalid key error"
|
125
|
+
value: "Custom resources schema contains an invalid key: %{invalid_keys}"
|
126
|
+
screenshot: "https://drive.google.com/open?id=1-CHVDcmr5mf1DKKeWqiOuGWrW25gDY4y"
|
127
|
+
- translation:
|
128
|
+
key: "txt.apps.admin.error.app_build.invalid_cr_schema_keys.other"
|
129
|
+
title: "App builder job: custom resources schema contains invalid keys error"
|
130
|
+
value: "Custom resources schema contains invalid keys: %{invalid_keys}"
|
131
|
+
screenshot: "https://drive.google.com/open?id=1iEx7f7PYnum_qDQESD3Gz2PwLDza3zI0"
|
122
132
|
- translation:
|
123
133
|
key: "txt.apps.admin.error.app_build.banner.invalid_format"
|
124
134
|
title: "App builder job: Banner image invalid format error"
|
@@ -2,8 +2,7 @@
|
|
2
2
|
|
3
3
|
module ZendeskAppsSupport
|
4
4
|
class AppRequirement
|
5
|
-
TYPES = %w[automations channel_integrations
|
6
|
-
|
7
|
-
user_fields organization_fields].freeze
|
5
|
+
TYPES = %w[automations channel_integrations custom_resources_schema macros targets views ticket_fields
|
6
|
+
triggers user_fields organization_fields].freeze
|
8
7
|
end
|
9
8
|
end
|
@@ -5,7 +5,7 @@ module ZendeskAppsSupport
|
|
5
5
|
module Requirements
|
6
6
|
MAX_REQUIREMENTS = 5000
|
7
7
|
|
8
|
-
class <<self
|
8
|
+
class << self
|
9
9
|
def call(package)
|
10
10
|
if package.manifest.requirements_only? && !package.has_requirements?
|
11
11
|
return [ValidationError.new(:missing_requirements)]
|
@@ -26,6 +26,7 @@ module ZendeskAppsSupport
|
|
26
26
|
errors << excessive_requirements(requirements)
|
27
27
|
errors << invalid_channel_integrations(requirements)
|
28
28
|
errors << invalid_custom_fields(requirements)
|
29
|
+
errors << invalid_custom_resources_schema(requirements)
|
29
30
|
errors << missing_required_fields(requirements)
|
30
31
|
errors.flatten!
|
31
32
|
errors.compact!
|
@@ -43,10 +44,12 @@ module ZendeskAppsSupport
|
|
43
44
|
def missing_required_fields(requirements)
|
44
45
|
[].tap do |errors|
|
45
46
|
requirements.each do |requirement_type, requirement|
|
46
|
-
next if
|
47
|
+
next if %w[channel_integrations custom_resources_schema].include? requirement_type
|
47
48
|
requirement.each do |identifier, fields|
|
48
49
|
next if fields.include? 'title'
|
49
|
-
errors << ValidationError.new(:missing_required_fields,
|
50
|
+
errors << ValidationError.new(:missing_required_fields,
|
51
|
+
field: 'title',
|
52
|
+
identifier: identifier)
|
50
53
|
end
|
51
54
|
end
|
52
55
|
end
|
@@ -65,7 +68,9 @@ module ZendeskAppsSupport
|
|
65
68
|
[user_fields, organization_fields].compact.each do |field_group|
|
66
69
|
field_group.each do |identifier, fields|
|
67
70
|
next if fields.include? 'key'
|
68
|
-
errors << ValidationError.new(:missing_required_fields,
|
71
|
+
errors << ValidationError.new(:missing_required_fields,
|
72
|
+
field: 'key',
|
73
|
+
identifier: identifier)
|
69
74
|
end
|
70
75
|
end
|
71
76
|
end
|
@@ -76,19 +81,40 @@ module ZendeskAppsSupport
|
|
76
81
|
return unless channel_integrations
|
77
82
|
[].tap do |errors|
|
78
83
|
if channel_integrations.size > 1
|
79
|
-
errors << ValidationError.new(:multiple_channel_integrations
|
84
|
+
errors << ValidationError.new(:multiple_channel_integrations)
|
80
85
|
end
|
81
86
|
channel_integrations.each do |identifier, fields|
|
82
|
-
|
83
|
-
|
84
|
-
|
87
|
+
next if fields.include? 'manifest_url'
|
88
|
+
errors << ValidationError.new(:missing_required_fields,
|
89
|
+
field: 'manifest_url',
|
90
|
+
identifier: identifier)
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
def invalid_custom_resources_schema(requirements)
|
96
|
+
custom_resources_schema = requirements['custom_resources_schema']
|
97
|
+
return unless custom_resources_schema
|
98
|
+
valid_schema_keys = %w[resource_types relationship_types]
|
99
|
+
[].tap do |errors|
|
100
|
+
invalid_keys = custom_resources_schema.keys - valid_schema_keys
|
101
|
+
unless invalid_keys.empty?
|
102
|
+
errors << ValidationError.new(:invalid_cr_schema_keys,
|
103
|
+
invalid_keys: invalid_keys.join(', '),
|
104
|
+
count: invalid_keys.length)
|
105
|
+
end
|
106
|
+
|
107
|
+
valid_schema_keys.each do |required_key|
|
108
|
+
next if custom_resources_schema.keys.include? required_key
|
109
|
+
errors << ValidationError.new(:missing_required_fields,
|
110
|
+
field: required_key,
|
111
|
+
identifier: 'custom_resources_schema')
|
85
112
|
end
|
86
113
|
end
|
87
114
|
end
|
88
115
|
|
89
116
|
def invalid_requirements_types(requirements)
|
90
117
|
invalid_types = requirements.keys - ZendeskAppsSupport::AppRequirement::TYPES
|
91
|
-
|
92
118
|
unless invalid_types.empty?
|
93
119
|
ValidationError.new(:invalid_requirements_types,
|
94
120
|
invalid_types: invalid_types.join(', '),
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James A. Rosen
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2018-
|
14
|
+
date: 2018-07-20 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: i18n
|
@@ -274,7 +274,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
274
274
|
version: 1.3.6
|
275
275
|
requirements: []
|
276
276
|
rubyforge_project:
|
277
|
-
rubygems_version: 2.7.
|
277
|
+
rubygems_version: 2.7.6
|
278
278
|
signing_key:
|
279
279
|
specification_version: 4
|
280
280
|
summary: Support to help you develop Zendesk Apps.
|