zendesk_apps_support 4.45.0 → 4.46.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
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b48dcaba8c32f505c72149754b65c91bdded1dfb2ce877e7bd48fcae02bcbe90
|
|
4
|
+
data.tar.gz: daa2d477594e277c7572194b7c72af71f70f5ffbd3536d1ad9a816ad2e676604
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 96042b642bdcf700b5b1995385898972c8a10d4bb9a392f5d22d79f866d4e683a72f09eea1a8aec32558820868b98a47a18808e4aa495cc4aecd9db392904542
|
|
7
|
+
data.tar.gz: b566b7972ed3d819ff9d82f30151fb31c08ca81143a796fa0eecb8e98f48d2ce4a34f4972455ea2fcd88c72bc629e4dc1f7cff2bb7c4bb03a706758a68b02a34
|
data/config/locales/en.yml
CHANGED
|
@@ -188,6 +188,9 @@ en:
|
|
|
188
188
|
property of trigger %{trigger_key} (object: %{object_key}) contains
|
|
189
189
|
a placeholder %{property_value}. Placeholders are not allowed in trigger
|
|
190
190
|
definitions.'
|
|
191
|
+
setting_placeholders_not_allowed_in_cov2_requirements: The requirements.json
|
|
192
|
+
file contains a setting placeholder in the custom_objects_v2 requirements.
|
|
193
|
+
Setting placeholders are not allowed in custom_objects_v2 requirements.
|
|
191
194
|
missing_required_fields: 'Missing required fields in requirements.json:
|
|
192
195
|
"%{field}" is required in "%{identifier}"'
|
|
193
196
|
duplicate_requirements:
|
|
@@ -265,14 +268,15 @@ en:
|
|
|
265
268
|
do not match products in translations (%{translation_products})
|
|
266
269
|
insecure_token_parameter_in_manifest: 'Make sure to set secure to true
|
|
267
270
|
when using keys in Settings. Learn more: %{link}'
|
|
268
|
-
secure_parameters_with_no_scopes_in_manifest: 'The scopes property is not configured for parameter(s): %{params}.
|
|
269
|
-
This may cause token exposure vulnerabilities. Learn about: %{link}'
|
|
270
271
|
password_parameter_deprecated: 'Password parameter type is deprecated
|
|
271
272
|
and will not be accepted in the future. Use Basic Access Authentication
|
|
272
273
|
instead. Learn more: %{link}.'
|
|
273
274
|
default_secure_or_hidden_parameter_in_manifest: Default values for secure
|
|
274
275
|
or hidden parameters are not stored securely. Be sure to review them
|
|
275
276
|
and confirm they do not contain sensitive data
|
|
277
|
+
secure_parameters_with_no_scopes_in_manifest: 'The scopes property is
|
|
278
|
+
not configured for parameter(s): %{params}. This may cause token exposure
|
|
279
|
+
vulnerabilities. Learn about: %{link}'
|
|
276
280
|
stylesheet_error: 'Sass error: %{sass_error}'
|
|
277
281
|
invalid_type_parameter:
|
|
278
282
|
one: "%{invalid_types} is an invalid parameter type."
|
|
@@ -315,16 +315,24 @@ parts:
|
|
|
315
315
|
title: 'App builder job: requirements file contains placeholder in custom objects v2 object property. Placeholders are not allowed in object definitions. Leave requirements.json as is (do not translate). Do not translate "objects" as it is part of schema.'
|
|
316
316
|
value: 'The requirements.json file contains a placeholder in the objects array. The %{property_name} property of object %{object_key} contains a placeholder %{property_value}. Placeholders are not allowed in object definitions.'
|
|
317
317
|
screenshot: "https://drive.google.com/file/d/1UYrBruLjZ27WoQ40sWXqd07DNwtblg2W/view?usp=sharing"
|
|
318
|
+
obsolete: "2026-02-05"
|
|
318
319
|
- translation:
|
|
319
320
|
key: "txt.apps.admin.error.app_build.cov2_field_setting_placeholder_not_allowed"
|
|
320
321
|
title: 'App builder job: requirements file contains placeholder in custom objects v2 field property. Placeholders are not allowed in field definitions. Leave requirements.json as is (do not translate). Do not translate "object_fields" as it is part of schema.'
|
|
321
322
|
value: 'The requirements.json file contains a placeholder in the object_fields array. The %{property_name} property of field %{field_key} (object: %{object_key}) contains a placeholder %{property_value}. Placeholders are not allowed in field definitions.'
|
|
322
323
|
screenshot: "https://drive.google.com/file/d/1Bprc1VNv8kmzgbNeQn-noU0ItSci2obm/view?usp=sharing"
|
|
324
|
+
obsolete: "2026-02-05"
|
|
323
325
|
- translation:
|
|
324
326
|
key: "txt.apps.admin.error.app_build.cov2_trigger_setting_placeholder_not_allowed"
|
|
325
327
|
title: 'App builder job: requirements file contains placeholder in custom objects v2 trigger identifier. Placeholders are not allowed in trigger identifiers. Leave requirements.json as is (do not translate). Do not translate "object_triggers" as it is part of schema.'
|
|
326
328
|
value: 'The requirements.json file contains a placeholder in the object_triggers array. The %{property_name} property of trigger %{trigger_key} (object: %{object_key}) contains a placeholder %{property_value}. Placeholders are not allowed in trigger definitions.'
|
|
327
329
|
screenshot: "https://drive.google.com/file/d/1FwnzKj9srIDTxtk-WryA3xHTXGD7uS-W/view?usp=sharing"
|
|
330
|
+
obsolete: "2026-02-05"
|
|
331
|
+
- translation:
|
|
332
|
+
key: "txt.apps.admin.error.app_build.setting_placeholders_not_allowed_in_cov2_requirements"
|
|
333
|
+
title: 'App builder job: requirements file contains placeholder in custom objects v2 requirements. Placeholders are not allowed in custom objects v2 definitions. Leave requirements.json, custom_objects_v2 as is (do not translate)'
|
|
334
|
+
value: 'The requirements.json file contains a setting placeholder in the custom_objects_v2 requirements. Setting placeholders are not allowed in custom_objects_v2 requirements.'
|
|
335
|
+
screenshot: "https://drive.google.com/file/d/18Q9bTUO3gaSg2O0wZzn0OehE5SqmR49e/view?usp=sharing"
|
|
328
336
|
- translation:
|
|
329
337
|
key: "txt.apps.admin.error.app_build.missing_required_fields"
|
|
330
338
|
title: "App builder job: required key missing in requirements, e.g. \"title\" is required in \"my_custom_email_target\""
|
|
@@ -669,4 +677,4 @@ parts:
|
|
|
669
677
|
title: "Validation message to indicate missing scopes field in manifest's secure parameter.
|
|
670
678
|
Do not translate 'scopes'. %{params} refers to secure parameters with no scopes configured.
|
|
671
679
|
Scopes in manifest refers to https://developer.zendesk.com/documentation/apps/getting-started/setting-up-new-apps/#scopes"
|
|
672
|
-
value: "The scopes property is not configured for parameter(s): %{params}. This may cause token exposure vulnerabilities. Learn about: %{link}"
|
|
680
|
+
value: "The scopes property is not configured for parameter(s): %{params}. This may cause token exposure vulnerabilities. Learn about: %{link}"
|
|
@@ -12,11 +12,15 @@ module ZendeskAppsSupport
|
|
|
12
12
|
include Constants
|
|
13
13
|
include ValidationHelpers
|
|
14
14
|
|
|
15
|
+
SETTING_PLACEHOLDER_REGEXP = /\{\{\s*setting\.([\w.-]+)\s*\}\}/
|
|
16
|
+
|
|
15
17
|
def call(requirements)
|
|
16
18
|
structural_errors = validate_overall_requirements_structure(requirements)
|
|
17
19
|
return structural_errors if structural_errors.any?
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
requirements_json = requirements.to_json
|
|
22
|
+
|
|
23
|
+
payload_size_errors = validate_payload_size(requirements_json)
|
|
20
24
|
return payload_size_errors if payload_size_errors.any?
|
|
21
25
|
|
|
22
26
|
limits_and_schema_errors = [
|
|
@@ -26,18 +30,27 @@ module ZendeskAppsSupport
|
|
|
26
30
|
|
|
27
31
|
return limits_and_schema_errors if limits_and_schema_errors.any?
|
|
28
32
|
|
|
33
|
+
setting_placeholder_errors = validate_setting_placeholders(requirements_json)
|
|
34
|
+
return setting_placeholder_errors if setting_placeholder_errors.any?
|
|
35
|
+
|
|
29
36
|
validate_object_references(requirements)
|
|
30
37
|
end
|
|
31
38
|
|
|
32
39
|
private
|
|
33
40
|
|
|
34
|
-
def validate_payload_size(
|
|
35
|
-
payload_size =
|
|
41
|
+
def validate_payload_size(requirements_json)
|
|
42
|
+
payload_size = requirements_json.bytesize
|
|
36
43
|
return [] if payload_size <= MAX_PAYLOAD_SIZE_BYTES
|
|
37
44
|
|
|
38
45
|
[ValidationError.new(:excessive_cov2_payload_size)]
|
|
39
46
|
end
|
|
40
47
|
|
|
48
|
+
def validate_setting_placeholders(requirements_json)
|
|
49
|
+
return [] unless requirements_json.match?(SETTING_PLACEHOLDER_REGEXP)
|
|
50
|
+
|
|
51
|
+
[ValidationError.new(:setting_placeholders_not_allowed_in_cov2_requirements)]
|
|
52
|
+
end
|
|
53
|
+
|
|
41
54
|
def validate_overall_requirements_structure(requirements)
|
|
42
55
|
errors = validate_structural_requirements(requirements)
|
|
43
56
|
return errors unless errors.empty?
|
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.46.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: 2025-12-
|
|
14
|
+
date: 2025-12-09 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: i18n
|