From 320068b39fe6310ec31e44d6eed7d46e74281fc1 Mon Sep 17 00:00:00 2001 From: shreyash <2019mcb1218@iitrpr.ac.in> Date: Wed, 16 Aug 2023 10:56:49 +0530 Subject: [PATCH 01/17] enabled databricks audiences --- src/configurations/sources/databricks/db-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/databricks/db-config.json b/src/configurations/sources/databricks/db-config.json index b5c680739..72476849f 100644 --- a/src/configurations/sources/databricks/db-config.json +++ b/src/configurations/sources/databricks/db-config.json @@ -7,7 +7,7 @@ "upsert" ], "isSqlModelSupported": true, - "hidden": true + "isAudienceSupported": true }, "type": "warehouse" } From ad8f6159270d12d2b52eeff110a58460fe9a54df Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Wed, 23 Aug 2023 16:48:52 +0530 Subject: [PATCH 02/17] chore: updates mixpanel to v8.1.5 --- src/configurations/sources/singer_mixpanel/db-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/singer_mixpanel/db-config.json b/src/configurations/sources/singer_mixpanel/db-config.json index 37e03875a..87109f3f0 100644 --- a/src/configurations/sources/singer_mixpanel/db-config.json +++ b/src/configurations/sources/singer_mixpanel/db-config.json @@ -3,7 +3,7 @@ "category": "singer-protocol", "displayName": "Mixpanel", "options": { - "image": "rudderstack/source-mixpanel:v8.1.2" + "image": "rudderstack/source-mixpanel:v8.1.5" }, "type": "cloudSource" } From 5cccb6a0485148c538a744c745b61cd73eff6ead Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Thu, 24 Aug 2023 17:10:20 +0530 Subject: [PATCH 03/17] chore: updates zendesk support --- .../sources/singer_zendesk_support/db-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/singer_zendesk_support/db-config.json b/src/configurations/sources/singer_zendesk_support/db-config.json index 6b39196c7..23dfda424 100644 --- a/src/configurations/sources/singer_zendesk_support/db-config.json +++ b/src/configurations/sources/singer_zendesk_support/db-config.json @@ -3,7 +3,7 @@ "category": "singer-protocol", "displayName": "Zendesk Support", "options": { - "image": "rudderstack/source-zendesk-support:v8.1.0-alpha.d99276fe70" + "image": "rudderstack/source-zendesk-support:v8.1.4-alpha.dd4e92c7d8" }, "type": "cloudSource" } From b1d5bcaf60389a2a4de650396b37b8c08e862a04 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 28 Aug 2023 11:49:55 +0530 Subject: [PATCH 04/17] chore(release): pull main into develop post release v1.47.0 (#868) Co-authored-by: devops-github-rudderstack <88187154+devops-github-rudderstack@users.noreply.github.com> Co-authored-by: Gauravudia <60897972+Gauravudia@users.noreply.github.com> Co-authored-by: GitHub Actions --- CHANGELOG.md | 7 + package-lock.json | 4 +- package.json | 2 +- .../destinations/mp/db-config.json | 4 + .../destinations/mp/schema.json | 93 +++++++++++--- .../destinations/mp/ui-config.json | 15 ++- test/data/validation/destinations/mp.json | 120 +++++++++++++++--- 7 files changed, 204 insertions(+), 41 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a435fd77..5df169540 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ 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.47.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.46.2...v1.47.0) (2023-08-28) + + +### Features + +* **mixpanel:** add persistence name setting ([#865](https://github.com/rudderlabs/rudder-config-schema/issues/865)) ([5c0e99e](https://github.com/rudderlabs/rudder-config-schema/commit/5c0e99e72963c99dce522f8f8db915694448ef5c)) + ### [1.46.2](https://github.com/rudderlabs/rudder-config-schema/compare/v1.46.1...v1.46.2) (2023-08-23) diff --git a/package-lock.json b/package-lock.json index 5d12ab397..365810201 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.46.2", + "version": "1.47.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.46.2", + "version": "1.47.0", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 3bcc0599c..5b4e49a7d 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.46.2", + "version": "1.47.0", "description": "", "main": "src/index.ts", "private": true, diff --git a/src/configurations/destinations/mp/db-config.json b/src/configurations/destinations/mp/db-config.json index a6c06d36a..e45b722ce 100644 --- a/src/configurations/destinations/mp/db-config.json +++ b/src/configurations/destinations/mp/db-config.json @@ -22,6 +22,8 @@ "sourceName", "crossSubdomainCookie", "persistence", + "persistenceType", + "persistenceName", "secureCookie", "blacklistedEvents", "whitelistedEvents", @@ -62,6 +64,8 @@ "sourceName", "crossSubdomainCookie", "persistence", + "persistenceType", + "persistenceName", "secureCookie", "blacklistedEvents", "whitelistedEvents", diff --git a/src/configurations/destinations/mp/schema.json b/src/configurations/destinations/mp/schema.json index 6fef3866e..e5ec38a3a 100644 --- a/src/configurations/destinations/mp/schema.json +++ b/src/configurations/destinations/mp/schema.json @@ -12,19 +12,42 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "serviceAccountUserName": { "type": "string" }, - "serviceAccountSecret": { "type": "string" }, - "projectId": { "type": "string" }, - "dataResidency": { "type": "string", "enum": ["us", "eu"], "default": "us" }, + "serviceAccountUserName": { + "type": "string" + }, + "serviceAccountSecret": { + "type": "string" + }, + "projectId": { + "type": "string" + }, + "dataResidency": { + "type": "string", + "enum": ["us", "eu"], + "default": "us" + }, "identityMergeApi": { "type": "string", "enum": ["simplified", "original"], "default": "original" }, - "strictMode": { "type": "boolean", "default": false }, - "userDeletionApi": { "type": "string", "enum": ["engage", "task"], "default": "engage" }, - "people": { "type": "boolean", "default": false }, - "setAllTraitsByDefault": { "type": "boolean", "default": false }, + "strictMode": { + "type": "boolean", + "default": false + }, + "userDeletionApi": { + "type": "string", + "enum": ["engage", "task"], + "default": "engage" + }, + "people": { + "type": "boolean", + "default": false + }, + "setAllTraitsByDefault": { + "type": "boolean", + "default": false + }, "superProperties": { "type": "array", "items": { @@ -73,20 +96,44 @@ } } }, - "consolidatedPageCalls": { "type": "boolean", "default": true }, - "trackCategorizedPages": { "type": "boolean", "default": false }, - "trackNamedPages": { "type": "boolean", "default": false }, + "consolidatedPageCalls": { + "type": "boolean", + "default": true + }, + "trackCategorizedPages": { + "type": "boolean", + "default": false + }, + "trackNamedPages": { + "type": "boolean", + "default": false + }, "sourceName": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "crossSubdomainCookie": { "type": "boolean", "default": false }, + "crossSubdomainCookie": { + "type": "boolean", + "default": false + }, "persistence": { "type": "string", "enum": ["none", "cookie", "localStorage"], "default": "none" }, - "secureCookie": { "type": "boolean", "default": false }, + "persistenceType": { + "type": "string", + "enum": ["none", "cookie", "localStorage"], + "default": "cookie" + }, + "persistenceName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "secureCookie": { + "type": "boolean", + "default": false + }, "groupKeySettings": { "type": "array", "items": { @@ -99,8 +146,18 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "useNewMapping": { "type": "boolean", "default": false }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "useNewMapping": { + "type": "boolean", + "default": false + }, "eventFilteringOption": { "type": "string", "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], @@ -146,7 +203,11 @@ "anyOf": [ { "if": { - "properties": { "userDeletionApi": { "const": "task" } }, + "properties": { + "userDeletionApi": { + "const": "task" + } + }, "required": ["userDeletionApi"] }, "then": { diff --git a/src/configurations/destinations/mp/ui-config.json b/src/configurations/destinations/mp/ui-config.json index fbb23986f..c9d1ed08a 100644 --- a/src/configurations/destinations/mp/ui-config.json +++ b/src/configurations/destinations/mp/ui-config.json @@ -244,7 +244,7 @@ { "type": "singleSelect", "label": "Persistence Type", - "value": "persistence", + "value": "persistenceType", "options": [ { "name": "None", @@ -260,10 +260,17 @@ } ], "defaultOption": { - "name": "None", - "value": "none" + "name": "Cookie", + "value": "cookie" }, - "footerNote": "Choose persistence for Mixpanel SDK" + "footerNote": "Choose the persistence type for Mixpanel cookie. If 'Local Storage' is selected, then any existing Mixpanel cookie value with the same persistence name will be transferred to 'Local Storage' and deleted." + }, + { + "type": "textInput", + "label": "Persistence Name", + "value": "persistenceName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", + "footerNote": "Enter a persistence name for the Mixpanel cookie." }, { "type": "checkbox", diff --git a/test/data/validation/destinations/mp.json b/test/data/validation/destinations/mp.json index 510d2962f..9ba004b63 100644 --- a/test/data/validation/destinations/mp.json +++ b/test/data/validation/destinations/mp.json @@ -12,16 +12,52 @@ "sourceName": "AWS", "crossSubdomainCookie": true, "persistence": "cookie", + "persistenceType": "cookie", + "persistenceName": "cookie", "secureCookie": true, - "superProperties": [{ "property": "super001" }], - "peopleProperties": [{ "property": "maidenName" }], - "eventIncrements": [{ "property": "triggerName" }], - "propIncrements": [{ "property": "extraProps" }], - "groupKeySettings": [{ "groupKey": "gg101" }], - "useNativeSDK": { "android": false }, - "blacklistedEvents": [{ "eventName": "black" }], - "whitelistedEvents": [{ "eventName": "white" }], - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "Marketing" }], + "superProperties": [ + { + "property": "super001" + } + ], + "peopleProperties": [ + { + "property": "maidenName" + } + ], + "eventIncrements": [ + { + "property": "triggerName" + } + ], + "propIncrements": [ + { + "property": "extraProps" + } + ], + "groupKeySettings": [ + { + "groupKey": "gg101" + } + ], + "useNativeSDK": { + "android": false + }, + "blacklistedEvents": [ + { + "eventName": "black" + } + ], + "whitelistedEvents": [ + { + "eventName": "white" + } + ], + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "Marketing" + } + ], "userDeletionApi": "task", "gdprApiToken": "gdprApiToken123", "strictMode": true @@ -32,7 +68,11 @@ "config": { "apiSecret": "8ac88f162ddfefd91156565c431611fb", "dataResidency": "us", - "groupKeySettings": [{ "groupKey": "admissions" }] + "groupKeySettings": [ + { + "groupKey": "admissions" + } + ] }, "result": false, "err": [" must have required property 'token'"] @@ -50,9 +90,15 @@ "persistence": "localStorage", "secureCookie": false, "eventFilteringOption": "disable", - "useNativeSDK": { "web": false }, + "useNativeSDK": { + "web": false + }, "strictMode": false, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "Marketing" }] + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] }, "result": true }, @@ -66,8 +112,14 @@ "persistence": "localStorage", "secureCookie": false, "eventFilteringOption": "disable", - "useNativeSDK": { "web": false }, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "Marketing" }] + "useNativeSDK": { + "web": false + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] }, "result": true }, @@ -79,12 +131,16 @@ "setAllTraitsByDefault": false, "consolidatedPageCalls": false, "trackCategorizedPages": false, - "trackNamedPages": { "name": true }, + "trackNamedPages": { + "name": true + }, "crossSubdomainCookie": false, "persistence": "localStorage", "secureCookie": false, "eventFilteringOption": "disable", - "useNativeSDK": { "web": false } + "useNativeSDK": { + "web": false + } }, "result": false, "err": ["trackNamedPages must be boolean"] @@ -103,7 +159,9 @@ "persistence": "localStorage", "secureCookie": false, "eventFilteringOption": "disable", - "useNativeSDK": { "web": false } + "useNativeSDK": { + "web": false + } }, "result": false, "err": [ @@ -115,10 +173,36 @@ "token": "token123", "apiSecret": "apiSecret123", "dataResidency": "us", - "groupKeySettings": [{ "groupKey": "admissions" }], + "groupKeySettings": [ + { + "groupKey": "admissions" + } + ], "userDeletionApi": "test" }, "result": false, "err": ["userDeletionApi must be equal to one of the allowed values"] + }, + { + "config": { + "token": "2de18c6hf6v45201ab43d2344b0c128x", + "dataResidency": "us", + "people": false, + "setAllTraitsByDefault": false, + "consolidatedPageCalls": false, + "trackCategorizedPages": false, + "trackNamedPages": true, + "crossSubdomainCookie": false, + "persistence": "none", + "persistenceType": "abc", + "persistenceName": "", + "secureCookie": false, + "eventFilteringOption": "disable", + "useNativeSDK": { + "web": false + } + }, + "result": false, + "err": ["persistenceType must be equal to one of the allowed values"] } ] From c74ecf20f7889f43b1ed25013b440602ca267955 Mon Sep 17 00:00:00 2001 From: Shreyash Agrawal <35464275+sensei23@users.noreply.github.com> Date: Mon, 28 Aug 2023 13:05:17 +0530 Subject: [PATCH 05/17] feat: adding trino config to UI (#853) --- .gitignore | 1 + .../sources/trino/db-config.json | 13 ++++ .../sources/trino/metadata.json | 13 ++++ src/configurations/sources/trino/schema.json | 3 + .../sources/trino/ui-config.json | 64 +++++++++++++++++++ 5 files changed, 94 insertions(+) create mode 100644 src/configurations/sources/trino/db-config.json create mode 100644 src/configurations/sources/trino/metadata.json create mode 100644 src/configurations/sources/trino/schema.json create mode 100644 src/configurations/sources/trino/ui-config.json diff --git a/.gitignore b/.gitignore index 82cbe9ecc..7b515f143 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ git reports .eslintcache +.vscode diff --git a/src/configurations/sources/trino/db-config.json b/src/configurations/sources/trino/db-config.json new file mode 100644 index 000000000..86c5cf974 --- /dev/null +++ b/src/configurations/sources/trino/db-config.json @@ -0,0 +1,13 @@ +{ + "name": "trino", + "category": "warehouse", + "displayName": "Trino", + "options": { + "hidden": true, + "syncBehaviours": [ + "upsert" ], + "isSqlModelSupported": false, + "isAudienceSupported": false + }, + "type": "warehouse" +} diff --git a/src/configurations/sources/trino/metadata.json b/src/configurations/sources/trino/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/trino/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/trino/schema.json b/src/configurations/sources/trino/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/trino/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/trino/ui-config.json b/src/configurations/sources/trino/ui-config.json new file mode 100644 index 000000000..a57aaef81 --- /dev/null +++ b/src/configurations/sources/trino/ui-config.json @@ -0,0 +1,64 @@ +{ + "uiConfig": [ + { + "title": "Connection Credentials", + "secretFields": ["password"], + "docLinks": { + "grantPermissions": "", + "verifyingCredentials": "", + "jsonMapperUseInstructions": "", + "setupInstructions": "" + }, + "nameField": "user", + "fields": [ + { + "type": "textInput", + "label": "Host", + "value": "host", + "regex": "^(?!https://)(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true, + "trim": true + }, + { + "type": "textInput", + "label": "Catalog Name", + "value": "catalog", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true, + "trim": true + }, + { + "type": "textInput", + "label": "User", + "value": "user", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "trim": true + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "inputFieldType": "password", + "regex": ".*", + "required": true, + "secret": true + }, + { + "type": "textInput", + "label": "Port", + "value": "port", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "inputFieldType": "number", + "required": false + } + ] + } + ] +} From d40041a0b30e1e38564feaa32b6c408d496959be Mon Sep 17 00:00:00 2001 From: Ujjwal Abhishek <63387036+ujjwal-ab@users.noreply.github.com> Date: Wed, 30 Aug 2023 19:12:32 +0530 Subject: [PATCH 06/17] feat: onboard hubspot to new UI (#770) --- scripts/schemaGenerator.py | 2 +- .../destinations/hs/db-config.json | 5 +- .../destinations/hs/schema.json | 2 +- .../destinations/hs/ui-config.json | 559 +++++++++++------- 4 files changed, 341 insertions(+), 227 deletions(-) diff --git a/scripts/schemaGenerator.py b/scripts/schemaGenerator.py index 280809a65..998d0abf2 100644 --- a/scripts/schemaGenerator.py +++ b/scripts/schemaGenerator.py @@ -763,7 +763,7 @@ def generate_schema_properties(uiConfig, dbConfig, schemaObject, properties, nam if generateFunction: properties[field['configKey']] = generateFunction( field, dbConfig, 'configKey') - if template.get('title', "") == "Initial setup" and is_field_present_in_default_config(field, dbConfig, "configKey"): + if template.get('title', "") == "Initial setup" and is_field_present_in_default_config(field, dbConfig, "configKey") and 'preRequisites' not in field: schemaObject['required'].append( field['configKey']) diff --git a/src/configurations/destinations/hs/db-config.json b/src/configurations/destinations/hs/db-config.json index c80bb58fa..931d0a269 100644 --- a/src/configurations/destinations/hs/db-config.json +++ b/src/configurations/destinations/hs/db-config.json @@ -28,6 +28,9 @@ "cordova", "shopify" ], + "supportedConnectionModes": { + "web": ["cloud", "device"] + }, "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": [ @@ -47,7 +50,7 @@ "doAssociation", "oneTrustCookieCategories" ], - "web": ["useNativeSDK"] + "web": ["useNativeSDK", "connectionMode"] }, "secretKeys": [] } diff --git a/src/configurations/destinations/hs/schema.json b/src/configurations/destinations/hs/schema.json index 0a6a56528..5953a44bc 100644 --- a/src/configurations/destinations/hs/schema.json +++ b/src/configurations/destinations/hs/schema.json @@ -1,7 +1,7 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "required": [], + "required": ["authorizationType", "apiVersion"], "type": "object", "properties": { "hubID": { diff --git a/src/configurations/destinations/hs/ui-config.json b/src/configurations/destinations/hs/ui-config.json index d02ab3e55..7ba947807 100644 --- a/src/configurations/destinations/hs/ui-config.json +++ b/src/configurations/destinations/hs/ui-config.json @@ -1,233 +1,344 @@ { - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Hub ID", - "value": "hubID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "regexErrorMessage": "Invalid Hub ID", - "required": false, - "placeholder": "e.g: 748991", - "footerNote": "Your Hub ID (under account name)" - }, - { - "type": "singleSelect", - "label": "Authorization Type", - "value": "authorizationType", - "options": [ - { - "name": "API Key (deprecating soon)", - "value": "legacyApiKey" - }, - { - "name": "Private Apps", - "value": "newPrivateAppApi" - } - ], - "defaultOption": { - "value": "legacyApiKey" - } - }, - { - "type": "textInput", - "preRequisiteField": { - "name": "authorizationType", - "selectedValue": "legacyApiKey" - }, - "label": "API Key", - "value": "apiKey", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", - "regexErrorMessage": "Invalid API Key", - "required": true, - "placeholder": "e.g: 05afa518-132c-40db-830a-de0f688902f7", - "footerNote": "Your API Key (Settings -> Integrations -> API Key)" - }, - { - "type": "textInput", - "preRequisiteField": { - "name": "authorizationType", - "selectedValue": "newPrivateAppApi" + "uiConfig": { + "baseTemplate": [ + { + "title": "Initial setup", + "note": "Review how this destination is set up", + "sections": [ + { + "groups": [ + { + "title": "Connection settings", + "note": ["Update your connection settings here."], + "icon": "settings", + "fields": [ + { + "type": "singleSelect", + "label": "Authorization Type", + "configKey": "authorizationType", + "options": [ + { + "label": "API Key (deprecating soon)", + "value": "legacyApiKey" + }, + { + "label": "Private Apps", + "value": "newPrivateAppApi" + } + ], + "default": "legacyApiKey" + }, + { + "type": "textInput", + "label": "API Key", + "configKey": "apiKey", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Invalid API Key", + "placeholder": "e.g: 05afa518-132c-40db-830a-de0f688902f7", + "note": "Your API Key (Settings -> Integrations -> API Key)", + "preRequisites": { + "fields": [ + { + "configKey": "authorizationType", + "value": "legacyApiKey" + } + ] + } + }, + { + "type": "textInput", + "label": "Access Token", + "configKey": "accessToken", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Invalid Access Token", + "placeholder": "e.g: pat-eu1-kjg875ya-9de4-98uu-8171-62875ht847r9", + "note": "Your private app access token", + "preRequisites": { + "fields": [ + { + "configKey": "authorizationType", + "value": "newPrivateAppApi" + } + ] + } + }, + { + "type": "singleSelect", + "label": "API Version", + "configKey": "apiVersion", + "options": [ + { + "label": "Legacy API (v1)", + "value": "legacyApi" + }, + { + "label": "New API (v3)", + "value": "newApi" + } + ], + "default": "legacyApi" + }, + { + "type": "textInput", + "label": "Hubspot property name to be used as lookup field", + "configKey": "lookupField", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Invalid Property Name", + "placeholder": "e.g: lookupField", + "note": "Provide unique Hubspot property field, which could be used for contact lookup. The provided lookup field key will be retrieved from traits. eg: traits: { lookupField: 'alex@example.com' }", + "preRequisites": { + "fields": [ + { + "configKey": "apiVersion", + "value": "newApi" + } + ] + } + } + ] + } + ] }, - "label": "Access Token", - "value": "accessToken", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", - "regexErrorMessage": "Invalid Access Token", - "required": true, - "placeholder": "e.g: pat-eu1-kjg875ya-9de4-98uu-8171-62875ht847r9", - "footerNote": "Your private app access token" - }, - { - "type": "singleSelect", - "label": "API Version", - "value": "apiVersion", - "options": [ - { - "name": "Legacy API (v1)", - "value": "legacyApi" - }, - { - "name": "New API (v3)", - "value": "newApi" - } - ], - "defaultOption": { - "value": "legacyApi" + { + "groups": [ + { + "title": "Connection mode", + "note": [ + "Update how you want to route events from your source to destination.", + { + "text": "Get help deciding", + "link": "https://www.rudderstack.com/docs/destinations/rudderstack-connection-modes/" + } + ], + "icon": "sliders", + "fields": [] + } + ] } - }, - { - "type": "textInput", - "preRequisiteField": { - "name": "apiVersion", - "selectedValue": "newApi" + ] + }, + { + "title": "Configuration settings", + "note": "Manage the settings for your destination", + "sections": [ + { + "groups": [ + { + "title": "Destination specific settings", + "note": "Set destination specific field values", + "icon": "settings", + "fields": [ + { + "type": "textInput", + "label": "Hub ID", + "configKey": "hubID", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", + "regexErrorMessage": "Invalid Hub ID", + "placeholder": "e.g: 748991", + "note": "Your Hub ID (under account name)" + }, + { + "type": "checkbox", + "label": "Create associations between object records", + "configKey": "doAssociation", + "default": false, + "preRequisites": { + "fields": [ + { + "configKey": "apiVersion", + "value": "newApi" + } + ] + } + } + ] + } + ] }, - "label": "Hubspot property name to be used as lookup field", - "value": "lookupField", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", - "regexErrorMessage": "Invalid Property Name", - "required": true, - "placeholder": "e.g: lookupField", - "footerNote": "Provide unique Hubspot property field, which could be used for contact lookup. The provided lookup field key will be retrieved from traits. eg: traits: { lookupField: 'alex@example.com' }" - }, - { - "type": "checkbox", - "label": "Create associations between object records", - "value": "doAssociation", - "default": false, - "preRequisiteField": { - "name": "apiVersion", - "selectedValue": "newApi" + { + "title": "Other settings", + "note": "Configure advanced RudderStack features here", + "icon": "otherSettings", + "groups": [ + { + "title": "Client-side event filtering", + "note": "Decide what events are allowed (allowlisting) and blocked (denylisting)", + "preRequisites": { + "fields": [ + { + "configKey": "connectionMode.web", + "value": "device" + } + ] + }, + "fields": [ + { + "type": "singleSelect", + "label": "Choose if you want to turn on event filtering: ", + "configKey": "eventFilteringOption", + "note": "You must select either allowlist or denylist to enable events filtering", + "options": [ + { + "label": "Disabled", + "value": "disable" + }, + { + "label": "Filter via allowlist", + "value": "whitelistedEvents" + }, + { + "label": "Filter via denylist", + "value": "blacklistedEvents" + } + ], + "default": "disable" + }, + { + "type": "tagInput", + "label": "Allowlisted events", + "note": "Input the events you want to allowlist.\nInput separate events by pressing ‘Enter’.", + "configKey": "whitelistedEvents", + "tagKey": "eventName", + "placeholder": "e.g: Anonymous page visit", + "preRequisites": { + "fields": [ + { + "configKey": "eventFilteringOption", + "value": "whitelistedEvents" + } + ] + } + }, + { + "type": "tagInput", + "label": "Denylisted events", + "note": "Input the events you want to denylist.\nInput separate events by pressing ‘Enter’.", + "configKey": "blacklistedEvents", + "tagKey": "eventName", + "placeholder": "e.g: Anonymous page visit", + "preRequisites": { + "fields": [ + { + "configKey": "eventFilteringOption", + "value": "blacklistedEvents" + } + ] + } + } + ] + }, + { + "title": "OneTrust cookie consent settings", + "note": [ + "Enter your OneTrust consent category IDs or names if you have them configured. We recommend providing category IDs over names, as the category names only work in the device connection mode. So, you can seamlessly switch between the connection modes.", + { + "text": "Learn more", + "link": "https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/onetrust-consent-manager/" + }, + " about RudderStack’s OneTrust Consent Manager feature." + ], + "fields": [ + { + "type": "tagInput", + "label": "Consent categories", + "note": "Input your OneTrust consent category IDs or names by pressing ‘Enter’ after each entry. You should prefer category IDs over names. Refer to this section's note.", + "configKey": "oneTrustCookieCategories", + "tagKey": "oneTrustCookieCategory", + "placeholder": "e.g: C0001" + } + ] + } + ] } - }, - { - "type": "dynamicCustomForm", - "label": "Map RudderStack event name to HubSpot Custom Behavioral event name", - "value": "hubspotEvents", - "preRequisiteField": { - "name": "apiVersion", - "selectedValue": "newApi" - }, - "customFields": [ - { - "type": "textInput", - "label": "RudderStack Event Name", - "value": "rsEventName", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false, - "placeholder": "e.g Products Searched", - "footerNote": "Enter the RudderStack event name you want to map" - }, - { - "type": "textInput", - "label": "HubSpot Event Name", - "value": "hubspotEventName", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false, - "placeholder": "e.g Search", - "footerNote": "Enter the corresponding Hubspot event name you want to map" - }, - { - "type": "dynamicForm", - "label": "Map your Event Property", - "value": "eventProperties", - "labelLeft": "RudderStack Property Name", - "labelRight": "HubSpot Property Name", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g firstName", - "placeholderRight": "e.g first_name" - } - ] - } - ] - }, - { - "title": "Native SDK", - "fields": [ - { - "type": "checkbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": false - } - ] - }, - { - "title": "Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" + ] + }, + { + "title": "Event mapping", + "note": "Map RudderStack to Hubspot events (available only when New API(v3) is selected)", + "hideEditIcon": true, + "sections": [ + { + "groups": [ + { + "title": "Map RudderStack event name to HubSpot Custom Behavioral event name", + "fields": [ + { + "type": "redirect", + "redirectGroupKey": "customEventMapping", + "label": "Event and property mappings", + "preRequisites": { + "fields": [ + { + "configKey": "apiVersion", + "value": "newApi" + } + ] + } + } + ] + } + ] } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] + ] + } + ], + "sdkTemplate": { + "title": "SDK settings", + "fields": [] }, - { - "title": "Consent Settings", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Cookie Categories", - "customFields": [ - { - "type": "textInput", - "placeholder": "Marketing", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category Name/ID", - "required": false - } - ] - } - ] + "redirectGroups": { + "customEventMapping": { + "fields": [ + { + "type": "dynamicCustomForm", + "label": "Map RudderStack event name to HubSpot Custom Behavioral event name", + "configKey": "hubspotEvents", + "rowFields": [ + { + "type": "mappingRow", + "columns": [ + { + "type": "textInput", + "configKey": "rsEventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Event name is required", + "label": "RudderStack Event Name", + "placeholder": "e.g Products Searched" + }, + { + "type": "textInput", + "configKey": "hubspotEventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Event name is required", + "label": "HubSpot Event Name", + "placeholder": "e.g Search" + } + ] + }, + { + "type": "mapping", + "label": "Map your Event Property", + "configKey": "eventProperties", + "default": [], + "columns": [ + { + "type": "textInput", + "key": "from", + "label": "RudderStack Property Name", + "placeholder": "e.g firstName" + }, + { + "type": "textInput", + "key": "to", + "label": "HubSpot Property Name", + "placeholder": "e.g first_name" + } + ] + } + ] + } + ] + } } - ] + } } From 9c6d5b4cecf1cec326a00d01457bb0a29d3a3d75 Mon Sep 17 00:00:00 2001 From: Shreyash Agrawal <35464275+sensei23@users.noreply.github.com> Date: Thu, 31 Aug 2023 11:21:20 +0530 Subject: [PATCH 07/17] feat: trino UI config - update (#876) --- src/configurations/sources/trino/ui-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/trino/ui-config.json b/src/configurations/sources/trino/ui-config.json index a57aaef81..65db17052 100644 --- a/src/configurations/sources/trino/ui-config.json +++ b/src/configurations/sources/trino/ui-config.json @@ -15,7 +15,7 @@ "type": "textInput", "label": "Host", "value": "host", - "regex": "^(?!https://)(.{0,100})$", + "regex": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$", "regexErrorMessage": "Invalid Value", "required": true, "addInAccountSummary": true, From 6c3a9df54e39a610b1e7ebf85edf51888f51b5d3 Mon Sep 17 00:00:00 2001 From: Yashasvi Bajpai <33063622+yashasvibajpai@users.noreply.github.com> Date: Thu, 31 Aug 2023 14:07:41 +0530 Subject: [PATCH 08/17] feat: add eu instance support to kustomer destination (#863) --- .../destinations/kustomer/db-config.json | 1 + .../destinations/kustomer/ui-config.json | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/configurations/destinations/kustomer/db-config.json b/src/configurations/destinations/kustomer/db-config.json index b623deb98..aafdeff75 100644 --- a/src/configurations/destinations/kustomer/db-config.json +++ b/src/configurations/destinations/kustomer/db-config.json @@ -24,6 +24,7 @@ "destConfig": { "defaultConfig": [ "apiKey", + "baseEndpoint", "advancedTransform", "setIdentityEmail", "disableEmailAsTrackingProperty", diff --git a/src/configurations/destinations/kustomer/ui-config.json b/src/configurations/destinations/kustomer/ui-config.json index fb693f7f3..93ed0b71d 100644 --- a/src/configurations/destinations/kustomer/ui-config.json +++ b/src/configurations/destinations/kustomer/ui-config.json @@ -12,6 +12,24 @@ "placeholder": "e.g. c59e3838caa934b535c1fd342dfds23452dfcccf95c16787304e7a0c0e8051b326451bb2", "secret": true, "footerNote": "API key required to authenticate requests." + }, + { + "type": "singleSelect", + "label": "Instance location", + "value": "baseEndpoint", + "options": [ + { + "label": "US instance", + "value": "https://api.kustomerapp.com" + }, + { + "label": "EU instance", + "value": "https://api.prod2.kustomerapp.com" + } + ], + "default": "https://api.kustomerapp.com", + "required": true, + "footerNote": "Production point of deployment for your organization instance" } ] }, From 72438cc68428cfb54029ec3e954f0bbc668eee4d Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Fri, 1 Sep 2023 17:34:44 +0530 Subject: [PATCH 09/17] chore: updates mixpanel to 8.1.7 --- src/configurations/sources/singer_mixpanel/db-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/singer_mixpanel/db-config.json b/src/configurations/sources/singer_mixpanel/db-config.json index 87109f3f0..ae55270cb 100644 --- a/src/configurations/sources/singer_mixpanel/db-config.json +++ b/src/configurations/sources/singer_mixpanel/db-config.json @@ -3,7 +3,7 @@ "category": "singer-protocol", "displayName": "Mixpanel", "options": { - "image": "rudderstack/source-mixpanel:v8.1.5" + "image": "rudderstack/source-mixpanel:v8.1.7" }, "type": "cloudSource" } From 916c0687191f3b49fb0c1ec824070edcadfd29a1 Mon Sep 17 00:00:00 2001 From: Gauravudia <60897972+Gauravudia@users.noreply.github.com> Date: Mon, 4 Sep 2023 11:35:35 +0530 Subject: [PATCH 10/17] chore: hide secure environment setting (#881) --- .../optimizely_fullstack/schema.json | 38 +++++++--------- .../optimizely_fullstack/ui-config.json | 43 ------------------- 2 files changed, 15 insertions(+), 66 deletions(-) diff --git a/src/configurations/destinations/optimizely_fullstack/schema.json b/src/configurations/destinations/optimizely_fullstack/schema.json index 6b91579e7..b81f3156b 100644 --- a/src/configurations/destinations/optimizely_fullstack/schema.json +++ b/src/configurations/destinations/optimizely_fullstack/schema.json @@ -20,8 +20,12 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" }, - "trackCategorizedPages": { "type": "boolean" }, - "trackNamedPages": { "type": "boolean" }, + "trackCategorizedPages": { + "type": "boolean" + }, + "trackNamedPages": { + "type": "boolean" + }, "pageMapping": { "type": "array", "items": { @@ -70,7 +74,9 @@ } } }, - "trackKnownUsers": { "type": "boolean" }, + "trackKnownUsers": { + "type": "boolean" + }, "listen": { "type": "object", "properties": { @@ -93,8 +99,12 @@ } } }, - "anonymizeIp": { "type": "boolean" }, - "enrichDecisions": { "type": "boolean" }, + "anonymizeIp": { + "type": "boolean" + }, + "enrichDecisions": { + "type": "boolean" + }, "projectId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" @@ -166,24 +176,6 @@ } } } - }, - "if": { - "properties": { - "secureEnvironment": { - "type": "boolean", - "const": true - } - }, - "required": ["secureEnvironment"] - }, - "then": { - "properties": { - "dataFileAccessToken": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,200})$" - } - }, - "required": ["dataFileAccessToken"] } } } diff --git a/src/configurations/destinations/optimizely_fullstack/ui-config.json b/src/configurations/destinations/optimizely_fullstack/ui-config.json index ea26ba828..b5e8adc88 100644 --- a/src/configurations/destinations/optimizely_fullstack/ui-config.json +++ b/src/configurations/destinations/optimizely_fullstack/ui-config.json @@ -220,49 +220,6 @@ } ] } - }, - { - "type": "checkbox", - "label": "Secure Environment", - "configKey": "secureEnvironment", - "default": false, - "note": [ - "Enable this if you are running experiment in Secure Environment. ", - { - "text": "Learn more here", - "link": "https://docs.developers.optimizely.com/feature-experimentation/docs/manage-environments#secure-environments" - } - ], - "preRequisites": { - "fields": [ - { - "configKey": "connectionModes.cloud", - "value": true - } - ] - } - }, - { - "type": "textInput", - "label": "Datafile Access Token", - "configKey": "dataFileAccessToken", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,200})$", - "regexErrorMessage": "Invalid Access Token", - "placeholder": "e.g. Ea9N54x3k8mT1qSv7Mf2zBcRn6IyOjGwXuLdH5pVhA0KlFgCtYsP3iU4WxQbZoD7vN2jX1kS8lR6wE", - "note": "Access token of your secure environment. You can find it in Settings -> Environments", - "preRequisites": { - "fields": [ - { - "configKey": "connectionModes.cloud", - "value": true - }, - { - "configKey": "secureEnvironment", - "value": true - } - ], - "condition": "and" - } } ] } From 624d53589e53d9674511623c0ab5f678c09504ca Mon Sep 17 00:00:00 2001 From: AASHISH MALIK Date: Mon, 4 Sep 2023 11:40:31 +0530 Subject: [PATCH 11/17] feat: active campaign new UI (#805) --- .../active_campaign/db-config.json | 17 +- .../destinations/active_campaign/schema.json | 15 +- .../active_campaign/ui-config.json | 200 ++++++++++++------ 3 files changed, 164 insertions(+), 68 deletions(-) diff --git a/src/configurations/destinations/active_campaign/db-config.json b/src/configurations/destinations/active_campaign/db-config.json index 21d932cc1..116bd33db 100644 --- a/src/configurations/destinations/active_campaign/db-config.json +++ b/src/configurations/destinations/active_campaign/db-config.json @@ -6,7 +6,7 @@ "transformAtV1": "router", "saveDestinationResponse": true, "isAudienceSupported": true, - "includeKeys": ["oneTrustCookieCategories"], + "includeKeys": ["oneTrustCookieCategories", "connectionMode", "actid"], "excludeKeys": [], "supportedSourceTypes": [ "android", @@ -22,8 +22,21 @@ "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], + "supportedConnectionModes": { + "android": ["cloud", "device"], + "web": ["cloud", "device", "hybrid"], + "ios": ["cloud", "device"], + "flutter": ["cloud", "device"], + "reactnative": ["cloud", "device"] + }, + "hybridModeCloudEventsFilter": { + "web": { + "messageType": ["track", "screen", "identify"] + } + }, "destConfig": { - "defaultConfig": ["apiUrl", "apiKey", "eventKey", "actid", "oneTrustCookieCategories"] + "defaultConfig": ["apiUrl", "apiKey", "eventKey", "actid", "oneTrustCookieCategories"], + "web": ["useNativeSDK", "connectionMode"] }, "secretKeys": ["apiKey", "eventKey", "actid"] } diff --git a/src/configurations/destinations/active_campaign/schema.json b/src/configurations/destinations/active_campaign/schema.json index bda1a3e51..f536fbe0f 100644 --- a/src/configurations/destinations/active_campaign/schema.json +++ b/src/configurations/destinations/active_campaign/schema.json @@ -28,7 +28,20 @@ } } } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { "type": "boolean" } + } + }, + "connectionMode": { + "type": "object", + "properties": { + "web": { "type": "string", "enum": ["cloud", "device", "hybrid"] } + } } - } + }, + "additionalProperties": true } } diff --git a/src/configurations/destinations/active_campaign/ui-config.json b/src/configurations/destinations/active_campaign/ui-config.json index e3b2bc399..7da487760 100644 --- a/src/configurations/destinations/active_campaign/ui-config.json +++ b/src/configurations/destinations/active_campaign/ui-config.json @@ -1,70 +1,140 @@ { - "uiConfig": [ - { - "title": "Connection Settings", + "uiConfig": { + "baseTemplate": [ + { + "title": "Initial setup", + "note": "Review how this destination is set up", + "sections": [ + { + "groups": [ + { + "title": "Connection settings", + "note": "Update your connection settings here", + "icon": "settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "configKey": "apiKey", + "regex": ".*", + "required": true, + "placeholder": "e.g. c59e3838caa934b535c1fd342dfds23452dfcccf95c16787304e7a0c0e8051b326451bb2", + "secret": true, + "footerNote": "Your API Access Key" + }, + { + "type": "textInput", + "label": "API Url", + "configKey": "apiUrl", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$", + "regexErrorMessage": "Invalid URL", + "required": true, + "placeholder": "e.g. https://accountname.api-us1.com", + "note": "Your API Access URL" + } + ] + } + ] + }, + { + "groups": [ + { + "title": "Connection mode", + "note": [ + "Update how you want to route events from your source to destination. ", + { + "text": "Get help deciding", + "link": "https://www.rudderstack.com/docs/destinations/rudderstack-connection-modes/" + } + ], + "icon": "sliders", + "fields": [] + } + ] + } + ] + }, + { + "title": "Configuration settings", + "note": "Manage the settings for your destination", + "sections": [ + { + "title": "Destination settings", + "note": "Configure advanced destination-specific settings here", + "icon": "settings", + "groups": [ + { + "title": "Event Settings", + "icon": "file", + "fields": [ + { + "type": "textInput", + "label": "Event Key", + "configKey": "eventKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Event Key", + "required": false, + "placeholder": "e.g. c2a856fddc721350dec4fbbc2e5c43a7ddfaaa03", + "secret": true, + "note": "Your Event Key" + }, + { + "type": "textInput", + "label": "ActID", + "configKey": "actid", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid ActID", + "required": false, + "placeholder": "e.g. 276450567", + "secret": true, + "note": "Your ActId" + } + ] + } + ] + }, + { + "title": "Other settings", + "note": "Configure advanced RudderStack features here", + "icon": "otherSettings", + "groups": [ + { + "title": "OneTrust cookie consent settings", + "note": [ + "Enter your OneTrust category names if you have them configured. ", + { + "text": "Learn more ", + "link": "https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/onetrust-consent-manager/" + }, + "about RudderStack’s OneTrust Consent Manager feature." + ], + "fields": [ + { + "type": "tagInput", + "label": "Cookie category name", + "note": "Input your OneTrust category names by pressing ‘Enter’ after each entry", + "configKey": "oneTrustCookieCategories", + "tagKey": "oneTrustCookieCategory", + "placeholder": "e.g: Credit card visit", + "default": [ + { + "oneTrustCookieCategory": "" + } + ] + } + ] + } + ] + } + ] + } + ], + "sdkTemplate": { + "title": "SDK settings", + "note": "not visible in the ui", "fields": [ - { - "type": "textInput", - "label": "API Url", - "value": "apiUrl", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$", - "regexErrorMessage": "Invalid URL", - "required": true, - "placeholder": "e.g. https://accountname.api-us1.com", - "footerNote": "Your API Access URL" - }, - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": ".*", - "required": true, - "placeholder": "e.g. c59e3838caa934b535c1fd342dfds23452dfcccf95c16787304e7a0c0e8051b326451bb2", - "secret": true, - "footerNote": "Your API Access Key" - }, - { - "type": "textInput", - "label": "Event Key", - "value": "eventKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Event Key", - "required": false, - "placeholder": "e.g. c2a856fddc721350dec4fbbc2e5c43a7ddfaaa03", - "secret": true, - "footerNote": "Your Event Key" - }, - { - "type": "textInput", - "label": "ActID", - "value": "actid", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid ActID", - "required": false, - "placeholder": "e.g. 276450567", - "secret": true, - "footerNote": "Your ActId" - } - ] - }, - { - "title": "Consent Settings", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Cookie Categories", - "customFields": [ - { - "type": "textInput", - "placeholder": "Marketing", - "value": "oneTrustCookieCategory", - "label": "Category Name/ID", - "required": false - } - ] - } ] } - ] + } } + From c294c50b09a924b534c5a9210e2d6621e1bc544d Mon Sep 17 00:00:00 2001 From: AASHISH MALIK Date: Mon, 4 Sep 2023 11:55:35 +0530 Subject: [PATCH 12/17] feat: google ads black audeince feature (#846) --- .../google_adwords_remarketing_lists/db-config.json | 4 ++++ .../google_adwords_remarketing_lists/ui-config.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json b/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json index b3757c84d..e7938b3f4 100644 --- a/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json +++ b/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json @@ -19,6 +19,7 @@ "supportsVisualMapper": true, "supportedMessageTypes": ["audiencelist"], "isAudienceSupported": true, + "supportsBlankAudienceCreation": true, "destConfig": { "defaultConfig": [ "rudderAccountId", @@ -30,6 +31,9 @@ "isHashRequired", "typeOfList", "oneTrustCookieCategories" + ], + "cloud": [ + "audienceId" ] }, "secretKeys": [] diff --git a/src/configurations/destinations/google_adwords_remarketing_lists/ui-config.json b/src/configurations/destinations/google_adwords_remarketing_lists/ui-config.json index 2af9fb01f..d61573dbd 100644 --- a/src/configurations/destinations/google_adwords_remarketing_lists/ui-config.json +++ b/src/configurations/destinations/google_adwords_remarketing_lists/ui-config.json @@ -6,7 +6,7 @@ { "type": "textInput", "label": "List ID", - "value": "listId", + "value": "audienceId", "regex": "^(.{1,100})$", "regexErrorMessage": "Invalid Google remarketing list ID", "required": true, From 3efb3c7d8475391b0e4bdccc926aa263ff88569f Mon Sep 17 00:00:00 2001 From: AASHISH MALIK Date: Mon, 4 Sep 2023 12:12:52 +0530 Subject: [PATCH 13/17] fix: ac script schema (#882) --- .../destinations/active_campaign/schema.json | 7 +++++-- .../active_campaign/ui-config.json | 20 +++++++++---------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/configurations/destinations/active_campaign/schema.json b/src/configurations/destinations/active_campaign/schema.json index f536fbe0f..3acfa36cd 100644 --- a/src/configurations/destinations/active_campaign/schema.json +++ b/src/configurations/destinations/active_campaign/schema.json @@ -8,7 +8,10 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$" }, - "apiKey": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" }, + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" + }, "actid": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" @@ -42,6 +45,6 @@ } } }, - "additionalProperties": true + "additionalProperties": false } } diff --git a/src/configurations/destinations/active_campaign/ui-config.json b/src/configurations/destinations/active_campaign/ui-config.json index 7da487760..f35f2d5f7 100644 --- a/src/configurations/destinations/active_campaign/ui-config.json +++ b/src/configurations/destinations/active_campaign/ui-config.json @@ -12,16 +12,6 @@ "note": "Update your connection settings here", "icon": "settings", "fields": [ - { - "type": "textInput", - "label": "API Key", - "configKey": "apiKey", - "regex": ".*", - "required": true, - "placeholder": "e.g. c59e3838caa934b535c1fd342dfds23452dfcccf95c16787304e7a0c0e8051b326451bb2", - "secret": true, - "footerNote": "Your API Access Key" - }, { "type": "textInput", "label": "API Url", @@ -31,6 +21,16 @@ "required": true, "placeholder": "e.g. https://accountname.api-us1.com", "note": "Your API Access URL" + }, + { + "type": "textInput", + "label": "API Key", + "configKey": "apiKey", + "regex": ".*", + "required": true, + "placeholder": "e.g. c59e3838caa934b535c1fd342dfds23452dfcccf95c16787304e7a0c0e8051b326451bb2", + "secret": true, + "footerNote": "Your API Access Key" } ] } From fcb1a5aa16517f2df715faaa76b8c64dd892ef72 Mon Sep 17 00:00:00 2001 From: Sudip Paul <67197965+ItsSudip@users.noreply.github.com> Date: Mon, 4 Sep 2023 12:57:28 +0530 Subject: [PATCH 14/17] chore(release): pull main into develop to resolve conflicts (#883) --- CHANGELOG.md | 2 ++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5df169540..146a447ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ 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.47.1](https://github.com/rudderlabs/rudder-config-schema/compare/v1.47.0...v1.47.1) (2023-08-29) + ## [1.47.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.46.2...v1.47.0) (2023-08-28) diff --git a/package-lock.json b/package-lock.json index 365810201..d28063ae1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.47.0", + "version": "1.47.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.47.0", + "version": "1.47.1", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 5b4e49a7d..5b0c97b97 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.47.0", + "version": "1.47.1", "description": "", "main": "src/index.ts", "private": true, From 1957c4892c586838e174b625f2d275c07249fb49 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 4 Sep 2023 08:24:57 +0000 Subject: [PATCH 15/17] chore(release): 1.48.0 --- CHANGELOG.md | 17 +++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8bac86d3..3bfb73de0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,23 @@ 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.48.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.47.2...v1.48.0) (2023-09-04) + + +### Features + +* active campaign new UI ([#805](https://github.com/rudderlabs/rudder-config-schema/issues/805)) ([624d535](https://github.com/rudderlabs/rudder-config-schema/commit/624d53589e53d9674511623c0ab5f678c09504ca)) +* add eu instance support to kustomer destination ([#863](https://github.com/rudderlabs/rudder-config-schema/issues/863)) ([6c3a9df](https://github.com/rudderlabs/rudder-config-schema/commit/6c3a9df54e39a610b1e7ebf85edf51888f51b5d3)) +* adding trino config to UI ([#853](https://github.com/rudderlabs/rudder-config-schema/issues/853)) ([c74ecf2](https://github.com/rudderlabs/rudder-config-schema/commit/c74ecf20f7889f43b1ed25013b440602ca267955)) +* google ads black audeince feature ([#846](https://github.com/rudderlabs/rudder-config-schema/issues/846)) ([c294c50](https://github.com/rudderlabs/rudder-config-schema/commit/c294c50b09a924b534c5a9210e2d6621e1bc544d)) +* onboard hubspot to new UI ([#770](https://github.com/rudderlabs/rudder-config-schema/issues/770)) ([d40041a](https://github.com/rudderlabs/rudder-config-schema/commit/d40041a0b30e1e38564feaa32b6c408d496959be)) +* trino UI config - update ([#876](https://github.com/rudderlabs/rudder-config-schema/issues/876)) ([9c6d5b4](https://github.com/rudderlabs/rudder-config-schema/commit/9c6d5b4cecf1cec326a00d01457bb0a29d3a3d75)) + + +### Bug Fixes + +* ac script schema ([#882](https://github.com/rudderlabs/rudder-config-schema/issues/882)) ([3efb3c7](https://github.com/rudderlabs/rudder-config-schema/commit/3efb3c7d8475391b0e4bdccc926aa263ff88569f)) + ### [1.47.2](https://github.com/rudderlabs/rudder-config-schema/compare/v1.47.1...v1.47.2) (2023-09-01) diff --git a/package-lock.json b/package-lock.json index 6154a8971..ecc606173 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.47.2", + "version": "1.48.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.47.2", + "version": "1.48.0", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 6808ca9a5..8fa5f6519 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.47.2", + "version": "1.48.0", "description": "", "main": "src/index.ts", "private": true, From a73ffa653008514821c00ab0dc3dadfaf0acdd51 Mon Sep 17 00:00:00 2001 From: shrouti1507 <60211312+shrouti1507@users.noreply.github.com> Date: Mon, 4 Sep 2023 21:08:27 +0530 Subject: [PATCH 16/17] fix: make marketo bulk upload visible in production (#886) --- .../destinations/marketo_bulk_upload/db-config.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/configurations/destinations/marketo_bulk_upload/db-config.json b/src/configurations/destinations/marketo_bulk_upload/db-config.json index 413807f10..b477d298d 100644 --- a/src/configurations/destinations/marketo_bulk_upload/db-config.json +++ b/src/configurations/destinations/marketo_bulk_upload/db-config.json @@ -34,5 +34,7 @@ }, "secretKeys": ["clientId", "clientSecret"] }, - "options": { "hidden": true } + "options": { + "isBeta": true + } } From 31cf6ce048eb0b69a702e4169ed77daf460c7c8f Mon Sep 17 00:00:00 2001 From: AASHISH MALIK Date: Mon, 4 Sep 2023 23:16:30 +0530 Subject: [PATCH 17/17] fix: schema failure in active campaign (#888) --- .../destinations/active_campaign/db-config.json | 6 +----- src/configurations/destinations/active_campaign/schema.json | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/configurations/destinations/active_campaign/db-config.json b/src/configurations/destinations/active_campaign/db-config.json index 116bd33db..ae3770d18 100644 --- a/src/configurations/destinations/active_campaign/db-config.json +++ b/src/configurations/destinations/active_campaign/db-config.json @@ -23,11 +23,7 @@ ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "supportedConnectionModes": { - "android": ["cloud", "device"], - "web": ["cloud", "device", "hybrid"], - "ios": ["cloud", "device"], - "flutter": ["cloud", "device"], - "reactnative": ["cloud", "device"] + "web": ["cloud", "device", "hybrid"] }, "hybridModeCloudEventsFilter": { "web": { diff --git a/src/configurations/destinations/active_campaign/schema.json b/src/configurations/destinations/active_campaign/schema.json index 3acfa36cd..8a9498f8f 100644 --- a/src/configurations/destinations/active_campaign/schema.json +++ b/src/configurations/destinations/active_campaign/schema.json @@ -45,6 +45,6 @@ } } }, - "additionalProperties": false + "additionalProperties": true } }