diff --git a/packages/schemas/README.md b/packages/schemas/README.md new file mode 100644 index 00000000..4ce15ae6 --- /dev/null +++ b/packages/schemas/README.md @@ -0,0 +1,3 @@ +
+ +# NetSuite Schemas \ No newline at end of file diff --git a/packages/schemas/custom-field-1.0.0.json b/packages/schemas/custom-field-1.0.0.json new file mode 100644 index 00000000..17a16fd0 --- /dev/null +++ b/packages/schemas/custom-field-1.0.0.json @@ -0,0 +1,70 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/custom-field-1.0.0.json", + "title": "Custom Field", + "description": "Custom Field Schema Definition", + "type": "object", + "properties": { + "CustomField": { + "type": "object", + "properties": { + "label": { + "type": "string", + "maxLength": 200 + }, + "fieldType": { + "type": "string" + }, + "selectRecordType": { + "type": "string" + }, + "segment": { + "type": "boolean" + }, + "@scriptId": { + "type": "string", + "maxLength": 30, + "pattern": "^f_.*$" + }, + "applications": { + "type": "object", + "properties": { + "application": { + "type": "array", + "items": { + "type": "object", + "properties": { + "recordType": { + "type": "string" + } + }, + "additionalProperties":false + } + } + }, + "additionalProperties":false + } + }, + "if": { + "properties": { + "fieldType": { + "enum": ["SELECT"] + } + } + }, + "then": { + "required": ["selectRecordType"] + }, + "required": [ + "label", + "fieldType", + "@scriptId" + ], + "additionalProperties": false + } + }, + "required": [ + "CustomField" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/packages/schemas/custom-record-1.0.0.json b/packages/schemas/custom-record-1.0.0.json new file mode 100644 index 00000000..938eb59d --- /dev/null +++ b/packages/schemas/custom-record-1.0.0.json @@ -0,0 +1,64 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/custom-record-1.0.0.json", + "title": "Custom Record", + "description": "Custom Record Schema Definition", + "type": "object", + "properties": { + "CustomRecord": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 199 + }, + "description": { + "type": "string", + "maxLength": 999 + }, + "sort": { + "type": "object", + "properties": { + "line": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "direction": { + "type": "string" + }, + "sequenceNumber": { + "type": "integer" + } + }, + "required": [ + "field", + "direction" + ], + "additionalProperties":false + } + } + }, + "additionalProperties":false + }, + "@scriptId": { + "type": "string", + "maxLength": 40, + "pattern": "^r_.*$" + } + }, + "additionalProperties": false, + "required": [ + "name", + "@scriptId" + ] + } + }, + "required": [ + "CustomRecord" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/packages/schemas/dataset-builder-plugin-1.0.0.json b/packages/schemas/dataset-builder-plugin-1.0.0.json new file mode 100644 index 00000000..31a12db0 --- /dev/null +++ b/packages/schemas/dataset-builder-plugin-1.0.0.json @@ -0,0 +1,72 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/dataset-builder-plugin-1.0.0.json", + "title": "Dataset Builder Plugin", + "description": "Dataset Builder Plugin Schema Definition", + "type": "object", + "properties": { + "DatasetBuilderPlugin": { + "type": "object", + "properties": { + "runtimeVersion": { + "type": "string" + }, + "description": { + "type": "string", + "maxLength": 999 + }, + "isInactive": { + "type": "boolean" + }, + "name": { + "type": "string", + "maxLength": 40 + }, + "notifyAdmins": { + "type": "boolean" + }, + "notifyEmails": { + "type": "string", + "maxLength": 999 + }, + "notifyGroup": { + "type": "string" + }, + "notifyOwner": { + "type": "boolean" + }, + "notifyUser": { + "type": "boolean" + }, + "owner": { + "type": "string" + }, + "scriptFile": { + "type": "string", + "pattern": "^\\[.*\\.js\\]$" + }, + "logLevel": { + "type": "string" + }, + "status": { + "type": "string" + }, + "@scriptId": { + "type": "string", + "maxLength": 40, + "pattern": "^customscript.*$" + } + }, + "required": [ + "name", + "scriptFile", + "@scriptId" + ], + "additionalProperties": false + } + }, + "required": [ + "DatasetBuilderPlugin" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/packages/schemas/fi-connectivity-plugin-1.0.0.json b/packages/schemas/fi-connectivity-plugin-1.0.0.json new file mode 100644 index 00000000..237f2a0a --- /dev/null +++ b/packages/schemas/fi-connectivity-plugin-1.0.0.json @@ -0,0 +1,72 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/fi-connectivity-plugin-1.0.0.json", + "title": "FI Connectivity Plugin", + "description": "FI Connectivity Plugin Schema Definition", + "type": "object", + "properties": { + "FiConnectivityPlugin": { + "type": "object", + "properties": { + "runtimeVersion": { + "type": "string" + }, + "description": { + "type": "string", + "maxLength": 999 + }, + "isInactive": { + "type": "boolean" + }, + "name": { + "type": "string", + "maxLength": 40 + }, + "notifyAdmins": { + "type": "boolean" + }, + "notifyEmails": { + "type": "string", + "maxLength": 999 + }, + "notifyGroup": { + "type": "string" + }, + "notifyOwner": { + "type": "boolean" + }, + "notifyUser": { + "type": "boolean" + }, + "owner": { + "type": "string" + }, + "scriptFile": { + "type": "string", + "pattern": "^\\[.*\\.js\\]$" + }, + "logLevel": { + "type": "string" + }, + "status": { + "type": "string" + }, + "@scriptId": { + "type": "string", + "maxLength": 40, + "pattern": "^customscript.*$" + } + }, + "required": [ + "name", + "scriptFile", + "@scriptId" + ], + "additionalProperties": false + } + }, + "required": [ + "FiConnectivityPlugin" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/packages/schemas/fi-parser-plugin-1.0.0.json b/packages/schemas/fi-parser-plugin-1.0.0.json new file mode 100644 index 00000000..52a07161 --- /dev/null +++ b/packages/schemas/fi-parser-plugin-1.0.0.json @@ -0,0 +1,72 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/fi-parser-plugin-1.0.0.json", + "title": "FI Parser Plugin", + "description": "FI Parser Plugin Schema Definition", + "type": "object", + "properties": { + "FiParserPlugin": { + "type": "object", + "properties": { + "runtimeVersion": { + "type": "string" + }, + "description": { + "type": "string", + "maxLength": 999 + }, + "isInactive": { + "type": "boolean" + }, + "name": { + "type": "string", + "maxLength": 40 + }, + "notifyAdmins": { + "type": "boolean" + }, + "notifyEmails": { + "type": "string", + "maxLength": 999 + }, + "notifyGroup": { + "type": "string" + }, + "notifyOwner": { + "type": "boolean" + }, + "notifyUser": { + "type": "boolean" + }, + "owner": { + "type": "string" + }, + "scriptFile": { + "type": "string", + "pattern": "^\\[.*\\.js\\]$" + }, + "logLevel": { + "type": "string" + }, + "status": { + "type": "string" + }, + "@scriptId": { + "type": "string", + "maxLength": 40, + "pattern": "^customscript.*$" + } + }, + "required": [ + "name", + "scriptFile", + "@scriptId" + ], + "additionalProperties": false + } + }, + "required": [ + "FiParserPlugin" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/packages/schemas/integration-1.0.0.json b/packages/schemas/integration-1.0.0.json new file mode 100644 index 00000000..37f05195 --- /dev/null +++ b/packages/schemas/integration-1.0.0.json @@ -0,0 +1,96 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/integration-1.0.0.json", + "title": "Integration Record", + "description": "Integration Record Schema Definition", + "type": "object", + "properties": { + "Integration": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "applicationId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "authenticationFlowType": { + "type": "string" + }, + "refreshTokenExpiration": { + "type": "integer" + }, + "refreshTokenRotationPeriod": { + "type": "integer" + }, + "promptPolicy": { + "type": "string" + }, + "redirectUris": { + "type": "object", + "properties": { + "redirectUri": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + } + } + }, + "additionalProperties":false + }, + "acgCertificates": { + "type": "object", + "properties": { + "acgCertificate": { + "type": "array", + "items": { + "type": "object", + "properties": { + "certificate": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "certificate", + "name" + ], + "additionalProperties": false + } + } + }, + "additionalProperties":false + }, + "@scriptId": { + "type": "string", + "maxLength": 99, + "pattern": "^custinteg.*$" + } + }, + "additionalProperties": false, + "required": [ + "name", + "authenticationFlowType", + "@scriptId" + ] + } + }, + "required": [ + "Integration" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/packages/schemas/map-reduce-deployment-1.0.0.json b/packages/schemas/map-reduce-deployment-1.0.0.json new file mode 100644 index 00000000..af828782 --- /dev/null +++ b/packages/schemas/map-reduce-deployment-1.0.0.json @@ -0,0 +1,118 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/map-reduce-deployment-1.0.0.json", + "title": "Map Reduce Deployment", + "description": "Map Reduce Deployment Schema Definition", + "type": "object", + "properties": { + "MapReduceDeployment": { + "type": "object", + "properties": { + "isDeployed": { + "type": "boolean" + }, + "status": { + "type": "string" + }, + "logLevel": { + "type": "string" + }, + "permissionElevation": { + "type": "string" + }, + "frequency": { + "type": "string" + }, + "period": { + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + "startDate": { + "type": "string" + }, + "startTime": { + "type": "string" + }, + "endDate": { + "type": "string" + }, + "repeat": { + "type": "string" + }, + "monday": { + "type": "boolean" + }, + "tuesday": { + "type": "boolean" + }, + "wednesday": { + "type": "boolean" + }, + "thursday": { + "type": "boolean" + }, + "friday": { + "type": "boolean" + }, + "saturday": { + "type": "boolean" + }, + "sunday": { + "type": "boolean" + }, + "dayOfWeek": { + "type": "string" + }, + "orderOfWeekInMonth": { + "type": "string" + }, + "dayOfMonth": { + "type": "string" + }, + "monthOfYear": { + "type": "string" + }, + "noEndDate": { + "type": "boolean" + }, + "script": { + "type": "string" + }, + "title": { + "type": "string" + }, + "bufferSize": { + "type": "string" + }, + "concurrencyLimit": { + "type": "string" + }, + "queueAllStagesAtOnce": { + "type": "boolean" + }, + "yieldAfterMins": { + "type": "string" + }, + "priority": { + "type": "string" + }, + "@scriptId": { + "type": "string", + "maxLength": 40, + "pattern": "^customdeploy.*$" + } + }, + "required": [ + "status", + "script", + "@scriptId" + ], + "additionalProperties": false + } + }, + "required": [ + "MapReduceDeployment" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/packages/schemas/map-reduce-script-1.0.0.json b/packages/schemas/map-reduce-script-1.0.0.json new file mode 100644 index 00000000..34630c0b --- /dev/null +++ b/packages/schemas/map-reduce-script-1.0.0.json @@ -0,0 +1,63 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/map-reduce-script-1.0.0.json", + "title": "Map Reduce Script", + "description": "Map Reduce Script Schema Definition", + "type": "object", + "properties": { + "MapReduceScript": { + "type": "object", + "properties": { + "runtimeVersion": { + "type": "string" + }, + "description": { + "type": "string", + "maxLength": 999 + }, + "isInactive": { + "type": "boolean" + }, + "name": { + "type": "string", + "maxLength": 40 + }, + "notifyAdmins": { + "type": "boolean" + }, + "notifyEmails": { + "type": "string", + "maxLength": 999 + }, + "notifyGroup": { + "type": "string" + }, + "notifyOwner": { + "type": "boolean" + }, + "owner": { + "type": "string" + }, + "scriptFile": { + "type": "string", + "pattern": "^\\[.*\\.js\\]$" + }, + "@scriptId": { + "type": "string", + "maxLength": 40, + "pattern": "^customscript.*$" + } + }, + "required": [ + "name", + "scriptFile", + "@scriptId" + ], + "additionalProperties": false + } + }, + "required": [ + "MapReduceScript" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/packages/schemas/package.json b/packages/schemas/package.json new file mode 100644 index 00000000..430c8ff6 --- /dev/null +++ b/packages/schemas/package.json @@ -0,0 +1,25 @@ +{ + "name": "@oracle/netsuite-schemas", + "version": "1.0.0", + "description": "JSON schema declarations", + "publisher": "Oracle", + "license": "UPL-1.0", + "keywords": [ + "NetSuite", + "SuiteCloud", + "SDF", + "SuiteApp" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/oracle/netsuite-suitecloud-sdk.git", + "directory": "packages/schemas" + }, + "publishConfig": { + "access": "public" + }, + "bugs": { + "url": "https://github.com/oracle/netsuite-suitecloud-sdk/issues" + }, + "private": true +} diff --git a/packages/schemas/permission-set-1.0.0.json b/packages/schemas/permission-set-1.0.0.json new file mode 100644 index 00000000..db19dd20 --- /dev/null +++ b/packages/schemas/permission-set-1.0.0.json @@ -0,0 +1,61 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/permission-set-1.0.0.json", + "title": "Permission Set", + "description": "Permission Set Schema Definition", + "type": "object", + "properties": { + "PermissionSet": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 128 + }, + "description": { + "type": "string", + "maxLength": 1000 + }, + "recordTypePermissionAssignments": { + "type": "object", + "properties": { + "recordTypePermissionAssignment": { + "type": "array", + "items": { + "type": "object", + "properties": { + "permissibleRecordType": { + "type": "string" + }, + "accessMode": { + "type": "string" + } + }, + "required": [ + "permissibleRecordType", + "accessMode" + ], + "additionalProperties": false + } + } + }, + "additionalProperties":false + }, + "@scriptId": { + "type": "string", + "maxLength": 128, + "pattern": "^caf_.*$" + } + }, + "required": [ + "name", + "@scriptId" + ], + "additionalProperties": false + } + }, + "required": [ + "PermissionSet" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/packages/schemas/sdf-installation-deployment-1.0.0.json b/packages/schemas/sdf-installation-deployment-1.0.0.json new file mode 100644 index 00000000..ede4bd7a --- /dev/null +++ b/packages/schemas/sdf-installation-deployment-1.0.0.json @@ -0,0 +1,48 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/sdf-installation-deployment-1.0.0.json", + "title": "SDF Installation Deployment", + "description": "SDF Installation Deployment Schema Definition", + "type": "object", + "properties": { + "SdfInstallationDeployment": { + "type": "object", + "properties": { + "isDeployed": { + "type": "boolean" + }, + "status": { + "type": "string" + }, + "logLevel": { + "type": "string" + }, + "permissionElevation": { + "type": "string" + }, + "script": { + "type": "string" + }, + "title": { + "type": "string" + }, + "@scriptId": { + "type": "string", + "maxLength": 40, + "pattern": "^customdeploy.*$" + } + }, + "required": [ + "status", + "script", + "title", + "@scriptId" + ], + "additionalProperties": false + } + }, + "required": [ + "SdfInstallationDeployment" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/packages/schemas/sdf-installation-script-1.0.0.json b/packages/schemas/sdf-installation-script-1.0.0.json new file mode 100644 index 00000000..de514f85 --- /dev/null +++ b/packages/schemas/sdf-installation-script-1.0.0.json @@ -0,0 +1,57 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/sdf-installation-script-1.0.0.json", + "title": "SDF Installation", + "description": "SDF Installation Schema Definition", + "type": "object", + "properties": { + "SdfInstallationScript": { + "type": "object", + "properties": { + "description": { + "type": "string", + "maxLength": 999 + }, + "isInactive": { + "type": "boolean" + }, + "name": { + "type": "string", + "maxLength": 40 + }, + "notifyAdmins": { + "type": "boolean" + }, + "notifyEmails": { + "type": "string", + "maxLength": 999 + }, + "notifyOwner": { + "type": "boolean" + }, + "notifyUser": { + "type": "boolean" + }, + "scriptFile": { + "type": "string", + "pattern": "^\\[.*\\.js\\]$" + }, + "@scriptId": { + "type": "string", + "maxLength": 40, + "pattern": "^customscript.*$" + } + }, + "required": [ + "name", + "scriptFile", + "@scriptId" + ], + "additionalProperties": false + } + }, + "required": [ + "SdfInstallationScript" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/packages/schemas/secret-1.0.0.json b/packages/schemas/secret-1.0.0.json new file mode 100644 index 00000000..c5979b9d --- /dev/null +++ b/packages/schemas/secret-1.0.0.json @@ -0,0 +1,27 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/secret-1.0.0.json", + "title": "Secret", + "description": "Secret Schema Definition", + "type": "object", + "properties": { + "Secret": { + "type": "object", + "properties": { + "@scriptId": { + "type": "string", + "maxLength": 99, + "pattern": "^custsecret.*$" + } + }, + "additionalProperties": false, + "required": [ + "@scriptId" + ] + } + }, + "required": [ + "Secret" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/packages/schemas/suite-cloud-ui-app-1.0.0.json b/packages/schemas/suite-cloud-ui-app-1.0.0.json new file mode 100644 index 00000000..c6ec4071 --- /dev/null +++ b/packages/schemas/suite-cloud-ui-app-1.0.0.json @@ -0,0 +1,42 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/suite-cloud-ui-app-1.0.0.json", + "title": "SuiteCloud UI App", + "description": "SuiteCloud UI App Schema Definition", + "type": "object", + "properties": { + "SuiteCloudUiApp": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 100 + }, + "version": { + "type": "string", + "maxLength": 100 + }, + "url": { + "type": "string", + "maxLength": 100 + }, + "@scriptId": { + "type": "string", + "maxLength": 99, + "pattern": "^custuiapp.*$" + } + }, + "required": [ + "name", + "version", + "url", + "@scriptId" + ], + "additionalProperties": false + } + }, + "required": [ + "SuiteCloudUiApp" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/packages/schemas/tax-calculation-plugin-1.0.0.json b/packages/schemas/tax-calculation-plugin-1.0.0.json new file mode 100644 index 00000000..4432c7b6 --- /dev/null +++ b/packages/schemas/tax-calculation-plugin-1.0.0.json @@ -0,0 +1,75 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/tax-calculation-plugin-1.0.0.json", + "title": "Tax Calculation Plugin", + "description": "Tax Calculation Plugin Schema Definition", + "type": "object", + "properties": { + "TaxCalculationPlugin": { + "type": "object", + "properties": { + "runtimeVersion": { + "type": "string" + }, + "description": { + "type": "string", + "maxLength": 999 + }, + "isInactive": { + "type": "boolean" + }, + "name": { + "type": "string", + "maxLength": 40 + }, + "notifyAdmins": { + "type": "boolean" + }, + "notifyEmails": { + "type": "string", + "maxLength": 999 + }, + "notifyGroup": { + "type": "string" + }, + "notifyOwner": { + "type": "boolean" + }, + "notifyUser": { + "type": "boolean" + }, + "owner": { + "type": "string" + }, + "scriptFile": { + "type": "string", + "pattern": "^\\[.*\\.js\\]$" + }, + "logLevel": { + "type": "string" + }, + "status": { + "type": "string" + }, + "permissionElevation": { + "type": "string" + }, + "@scriptId": { + "type": "string", + "maxLength": 40, + "pattern": "^customscript.*$" + } + }, + "required": [ + "name", + "scriptFile", + "@scriptId" + ], + "additionalProperties": false + } + }, + "required": [ + "TaxCalculationPlugin" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/packages/schemas/workbook-builder-plugin-1.0.0.json b/packages/schemas/workbook-builder-plugin-1.0.0.json new file mode 100644 index 00000000..6e372530 --- /dev/null +++ b/packages/schemas/workbook-builder-plugin-1.0.0.json @@ -0,0 +1,72 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/oracle/netsuite-suitecloud-sdk/refs/heads/master/packages/schemas/workbook-builder-plugin-1.0.0.json", + "title": "Workbook Builder Plugin", + "description": "Workbook Builder Plugin Schema Definition", + "type": "object", + "properties": { + "WorkbookBuilderPlugin": { + "type": "object", + "properties": { + "runtimeVersion": { + "type": "string" + }, + "description": { + "type": "string", + "maxLength": 999 + }, + "isInactive": { + "type": "boolean" + }, + "name": { + "type": "string", + "maxLength": 40 + }, + "notifyAdmins": { + "type": "boolean" + }, + "notifyEmails": { + "type": "string", + "maxLength": 999 + }, + "notifyGroup": { + "type": "string" + }, + "notifyOwner": { + "type": "boolean" + }, + "notifyUser": { + "type": "boolean" + }, + "owner": { + "type": "string" + }, + "scriptFile": { + "type": "string", + "pattern": "^\\[.*\\.js\\]$" + }, + "logLevel": { + "type": "string" + }, + "status": { + "type": "string" + }, + "@scriptId": { + "type": "string", + "maxLength": 40, + "pattern": "^customscript.*$" + } + }, + "required": [ + "name", + "scriptFile", + "@scriptId" + ], + "additionalProperties": false + } + }, + "required": [ + "WorkbookBuilderPlugin" + ], + "additionalProperties": false +} \ No newline at end of file