diff --git a/CHANGELOG.md b/CHANGELOG.md index 225614cee..a68bf1385 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,29 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [1.106.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.105.0...v1.106.0) (2025-02-21) + + +### Features + +* **gtm:** added support for environment configs ([#1906](https://github.com/rudderlabs/rudder-config-schema/issues/1906)) ([302d2c7](https://github.com/rudderlabs/rudder-config-schema/commit/302d2c7d56bc2abe19d2547dbb7e8c142471543e)) +* **http:** update labels and regex for a couple of field ([#1903](https://github.com/rudderlabs/rudder-config-schema/issues/1903)) ([2b51393](https://github.com/rudderlabs/rudder-config-schema/commit/2b513939f0c31829733b2ab966a959ef60f024b1)) + + +### Bug Fixes + +* incorrect preRequisiteField of "cleanupObjectStorageFiles" in s3 datalake ([#1905](https://github.com/rudderlabs/rudder-config-schema/issues/1905)) ([ca53abb](https://github.com/rudderlabs/rudder-config-schema/commit/ca53abb9328ce1162dc55d4086cb7aa7bede2afa)) + +## [1.105.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.104.0...v1.105.0) (2025-02-17) + + +### Features + +* added drop traits in track call feature for mixpanel ([#1882](https://github.com/rudderlabs/rudder-config-schema/issues/1882)) ([c6d8b7b](https://github.com/rudderlabs/rudder-config-schema/commit/c6d8b7b653d45ac672413612cbb708a03b9b5519)) +* allow configuring of object storage files deletion for warehouse destinations ([#1896](https://github.com/rudderlabs/rudder-config-schema/issues/1896)) ([2547b0c](https://github.com/rudderlabs/rudder-config-schema/commit/2547b0cfd63787f45afec75e06af5e1450950214)) +* **http:** updated labels and addressed product feedback ([#1898](https://github.com/rudderlabs/rudder-config-schema/issues/1898)) ([0f29945](https://github.com/rudderlabs/rudder-config-schema/commit/0f29945ca72c0025b64b7bb9378dd45dcae8be73)) +* **http:** updated regex and some labels ([#1895](https://github.com/rudderlabs/rudder-config-schema/issues/1895)) ([f5cd4cf](https://github.com/rudderlabs/rudder-config-schema/commit/f5cd4cf6b3b49788c3ee6f1e2ec2a7a4b1105437)) + ## [1.104.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.103.0...v1.104.0) (2025-02-04) diff --git a/package-lock.json b/package-lock.json index e48aff511..f567b66f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.104.0", + "version": "1.106.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.104.0", + "version": "1.106.0", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 7ed6ba960..97e0b08d0 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.104.0", + "version": "1.106.0", "description": "", "main": "src/index.ts", "private": true, diff --git a/src/configurations/destinations/gtm/db-config.json b/src/configurations/destinations/gtm/db-config.json index ab3b41a84..33746ad91 100644 --- a/src/configurations/destinations/gtm/db-config.json +++ b/src/configurations/destinations/gtm/db-config.json @@ -12,7 +12,9 @@ "oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement", - "eventFilteringOption" + "eventFilteringOption", + "environmentID", + "authorizationToken" ], "excludeKeys": [], "supportedSourceTypes": ["web"], @@ -30,7 +32,9 @@ "serverUrl", "blacklistedEvents", "whitelistedEvents", - "eventFilteringOption" + "eventFilteringOption", + "environmentID", + "authorizationToken" ], "web": [ "useNativeSDK", @@ -40,6 +44,7 @@ "ketchConsentPurposes" ] }, + "dynamicConfigSupported": ["containerID", "serverUrl"], "secretKeys": [] } } diff --git a/src/configurations/destinations/gtm/schema.json b/src/configurations/destinations/gtm/schema.json index 5f4e13f0b..7e64d4960 100644 --- a/src/configurations/destinations/gtm/schema.json +++ b/src/configurations/destinations/gtm/schema.json @@ -20,6 +20,14 @@ } } }, + "environmentID": { + "type": "string", + "pattern": "^(.{0,100})$" + }, + "authorizationToken": { + "type": "string", + "pattern": "^(.{0,100})$" + }, "eventFilteringOption": { "type": "string", "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], diff --git a/src/configurations/destinations/gtm/ui-config.json b/src/configurations/destinations/gtm/ui-config.json index 71e65d708..2145de1a3 100644 --- a/src/configurations/destinations/gtm/ui-config.json +++ b/src/configurations/destinations/gtm/ui-config.json @@ -20,6 +20,24 @@ "regexErrorMessage": "Invalid URL", "required": false, "placeholder": "e.g: https://example.com" + }, + { + "type": "textInput", + "label": "Environment ID", + "value": "environmentID", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Environment ID", + "required": false, + "placeholder": "e.g: env-3" + }, + { + "type": "textInput", + "label": "Authorization Token", + "value": "authorizationToken", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Authorization Token", + "required": false, + "placeholder": "e.g: d7bhUC_Zj4q1FRT5KWOuQ" } ] }, diff --git a/src/configurations/destinations/http/schema.json b/src/configurations/destinations/http/schema.json index e045be149..ffc68a34b 100644 --- a/src/configurations/destinations/http/schema.json +++ b/src/configurations/destinations/http/schema.json @@ -1090,11 +1090,11 @@ "properties": { "to": { "type": "string", - "pattern": "^\\$(?:\\.|(\\.(\\w+|\\*)|\\[\\d+\\]|\\[('\\w+'|\"\\w+\")\\]|\\[\\*\\]|\\.\\w+\\(\\))*)$" + "pattern": "^(?:$|\\$(?:\\.|(\\.(\\w+|\\*)|\\[\\d+\\]|\\[('\\w+'|\"\\w+\")\\]|\\[\\*\\]|\\.\\w+\\(\\))*)$)" }, "from": { "type": "string", - "pattern": "^\\$(?:\\.|(\\.(\\w+|\\*)|\\[\\d+\\]|\\[('\\w+'|\"\\w+\")\\]|\\[\\*\\]|\\.\\w+\\(\\))*)$|^(?!\\$)[A-Za-z0-9!#$%&'*+.^_`|~-]{1,100}$" + "pattern": "^\\$(?:\\.|(\\.(\\w+|\\*)|\\[\\d+\\]|\\[('\\w+'|\"\\w+\")\\]|\\[\\*\\]|\\.\\w+\\(\\))*)$|^(?!\\$)[A-Za-z0-9!#$%&'*+.^_`|~-]{0,100}$" } } } diff --git a/src/configurations/destinations/http/ui-config.json b/src/configurations/destinations/http/ui-config.json index ff318d814..99b308c76 100644 --- a/src/configurations/destinations/http/ui-config.json +++ b/src/configurations/destinations/http/ui-config.json @@ -465,7 +465,7 @@ { "type": "mapping", "label": "Enter your path parameters in sequence", - "note": "You could dynamically add values from fields in the RudderStack payload(using JSON path) or constants.", + "note": "You could dynamically add values from fields in the RudderStack payload (using JSON path) or constants.", "columns": [ { "key": "path", @@ -483,7 +483,7 @@ { "type": "mapping", "label": "Map your query parameters", - "note": "Map the query parameter keys to the values from fields in the RudderStack payload(using JSON path) or constants.", + "note": "Map the query parameter keys to the values from fields in the RudderStack payload (using JSON path) or constants.", "configKey": "queryParams", "default": [], "separatorIcon": "colon", @@ -515,7 +515,7 @@ { "type": "mapping", "label": "Map your headers", - "note": "Map the header keys to the values from fields in the RudderStack payload(using JSON path) or constants.", + "note": "Build your Headers object by specifying the Key name, then map the values from fields in the RudderStack payload (using JSON path) or constants.", "configKey": "headers", "default": [], "separatorIcon": "colon", @@ -535,7 +535,7 @@ "label": "Value", "regex": "^\\$(?:\\.|(?:\\.\\.(\\w+|\\*)|\\.(\\w+|\\*)|\\[\\d+\\]|\\[('\\w+'|\"\\w+\")\\]|\\[\\*\\]|\\.\\w+\\(\\))*)$|^(?!\\$)[A-Za-z0-9!#$%&'*+.^_`|~\\- /\\\\]{0,100}$", "regexErrorMessage": "Please enter a valid JSON path or a constant", - "placeholder": "e.g. application/json" + "placeholder": "e.g. $.contentType or application/json" } ] } @@ -570,7 +570,7 @@ { "type": "mapping", "label": "Map your request payload", - "note": "Build your HTTP request payload using JSON path, then map the values from fields in the RudderStack payload(using JSON path) or constants.", + "note": "Build your HTTP request payload using JSON path, then map the values from fields in the RudderStack payload (using JSON path) or constants.", "configKey": "propertiesMapping", "separatorIcon": "colon", "addButtonLabel": "Add request mapping", @@ -579,7 +579,7 @@ "type": "textInput", "configKey": "to", "label": "Key", - "regex": "^\\$(?:\\.|(\\.(\\w+|\\*)|\\[\\d+\\]|\\[('\\w+'|\"\\w+\")\\]|\\[\\*\\]|\\.\\w+\\(\\))*)$", + "regex": "^(?:$|\\$(?:\\.|(\\.(\\w+|\\*)|\\[\\d+\\]|\\[('\\w+'|\"\\w+\")\\]|\\[\\*\\]|\\.\\w+\\(\\))*)$)", "regexErrorMessage": "Please enter a valid JSON path", "placeholder": "e.g: $.events.key2" }, @@ -587,7 +587,7 @@ "type": "textInput", "configKey": "from", "label": "Value", - "regex": "^\\$(?:\\.|(?:\\.\\.(\\w+|\\*)|\\.(\\w+|\\*)|\\[\\d+\\]|\\[('\\w+'|\"\\w+\")\\]|\\[\\*\\]|\\.\\w+\\(\\))*)$|^(?!\\$)[A-Za-z0-9!#$%&'*+.^_`|~-]{1,100}$", + "regex": "^\\$(?:\\.|(?:\\.\\.(\\w+|\\*)|\\.(\\w+|\\*)|\\[\\d+\\]|\\[('\\w+'|\"\\w+\")\\]|\\[\\*\\]|\\.\\w+\\(\\))*)$|^(?!\\$)[A-Za-z0-9!#$%&'*+.^_`|~-]{0,100}$", "regexErrorMessage": "Please enter a valid JSON path or a constant", "placeholder": "e.g: $.properties.key1" } diff --git a/src/configurations/destinations/s3_datalake/ui-config.json b/src/configurations/destinations/s3_datalake/ui-config.json index a355437af..ce1bc5788 100644 --- a/src/configurations/destinations/s3_datalake/ui-config.json +++ b/src/configurations/destinations/s3_datalake/ui-config.json @@ -115,11 +115,7 @@ "type": "checkbox", "label": "Enable for cleanup of object storage files (deletion) after successful sync", "value": "cleanupObjectStorageFiles", - "default": false, - "preRequisiteField": { - "name": "useRudderStorage", - "selectedValue": false - } + "default": false }, { "type": "singleSelect", diff --git a/test/data/validation/destinations/gtm.json b/test/data/validation/destinations/gtm.json index e26c3b0a0..8683982d7 100644 --- a/test/data/validation/destinations/gtm.json +++ b/test/data/validation/destinations/gtm.json @@ -20,6 +20,29 @@ }, "result": true }, + { + "config": { + "containerID": "GTM-XXXX", + "serverUrl": "https://gtm.rudder.com", + "environmentID": "env-3", + "authorizationToken": "dfsgrsthetyh", + "eventFilteringOption": "whitelistedEvents", + "whitelistedEvents": [ + { + "eventName": "registration" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "useNativeSDK": { + "web": true + } + }, + "result": true + }, { "config": { "serverUrl": "https://gtm.rudder.com", diff --git a/test/data/validation/destinations/http.json b/test/data/validation/destinations/http.json index e1996b376..b2453aa5a 100644 --- a/test/data/validation/destinations/http.json +++ b/test/data/validation/destinations/http.json @@ -695,5 +695,32 @@ "ketchConsentPurposes.web must be array", "ketchConsentPurposes.unity.0 must be object" ] + }, + { + "testTitle": "With empty propertiesMapping", + "config": { + "apiUrl": "http://sample.com/api/hooks/{{$.traits.userId}}/url/{{$.properties.event}}", + "auth": "basicAuth", + "username": "test-user", + "password": "", + "method": "POST", + "format": "JSON", + "http-connectionMode": "cloud", + "connectionMode": { + "cloud": "cloud" + }, + "consentManagement": {}, + "isBatchingEnabled": true, + "maxBatchSize": "10", + "headers": [], + "queryParams": [], + "propertiesMapping": [ + { + "from": "", + "to": "" + } + ] + }, + "result": true } ]