From 54ac1fef3a868c491bcee9deff4b735e6d14edaa Mon Sep 17 00:00:00 2001 From: mihir-4116 Date: Tue, 1 Aug 2023 11:10:30 +0530 Subject: [PATCH 01/92] feat(iterable): move to new ui --- .../destinations/iterable/db-config.json | 22 +- .../destinations/iterable/schema.json | 230 ++++++-- .../destinations/iterable/ui-config.json | 553 ++++++++++++------ 3 files changed, 574 insertions(+), 231 deletions(-) diff --git a/src/configurations/destinations/iterable/db-config.json b/src/configurations/destinations/iterable/db-config.json index 0c040ce67..2ef6f6c53 100644 --- a/src/configurations/destinations/iterable/db-config.json +++ b/src/configurations/destinations/iterable/db-config.json @@ -29,9 +29,7 @@ "iconPath", "isRequiredToDismissMessage", "closeButtonPosition", - "oneTrustCookieCategories", - "preferUserId", - "mergeNestedObjects" + "oneTrustCookieCategories" ], "excludeKeys": [], "supportedSourceTypes": [ @@ -46,7 +44,19 @@ "flutter", "cordova" ], - "supportedMessageTypes": ["identify", "page", "screen", "track", "alias"], + "supportedMessageTypes": [ + "identify", + "page", + "screen", + "track", + "alias" + ], + "supportedConnectionModes": { + "web": [ + "cloud", + "device" + ] + }, "destConfig": { "defaultConfig": [ "apiKey", @@ -68,7 +78,6 @@ "displayInterval", "onOpenScreenReaderMessage", "onOpenNodeToTakeFocus", - "packageName", "rightOffset", "topOffset", "bottomOffset", @@ -79,7 +88,8 @@ "closeButtonColorSideOffset", "iconPath", "isRequiredToDismissMessage", - "closeButtonPosition" + "closeButtonPosition", + "connectionMode" ] }, "secretKeys": [] diff --git a/src/configurations/destinations/iterable/schema.json b/src/configurations/destinations/iterable/schema.json index 639492251..fee06c4e9 100644 --- a/src/configurations/destinations/iterable/schema.json +++ b/src/configurations/destinations/iterable/schema.json @@ -46,64 +46,202 @@ "initialisationIdentifier": { "type": "object", "properties": { - "web": { "type": "string", "enum": ["email", "userId"], "default": "email" } + "web": { + "type": "string", + "enum": [ + "email", + "userId" + ], + "default": "email" + } } }, - "sendTrackForInapp": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "packageName": { "type": "object", "properties": { "web": { "type": "string" } } }, - "animationDuration": { "type": "object", "properties": { "web": { "type": "string" } } }, - "bottomOffset": { "type": "object", "properties": { "web": { "type": "string" } } }, - "rightOffset": { "type": "object", "properties": { "web": { "type": "string" } } }, - "topOffset": { "type": "object", "properties": { "web": { "type": "string" } } }, - "displayInterval": { "type": "object", "properties": { "web": { "type": "string" } } }, - "handleLinks": { + "sendTrackForInapp": { "type": "object", "properties": { "web": { - "type": "string", - "enum": ["open-all-new-tab", "open-all-same-tab", "external-new-tab", ""] + "type": "boolean" } } }, - "onOpenScreenReaderMessage": { - "type": "object", - "properties": { "web": { "type": "string" } } - }, - "onOpenNodeToTakeFocus": { "type": "object", "properties": { "web": { "type": "string" } } }, - "closeButtonColor": { "type": "object", "properties": { "web": { "type": "string" } } }, - "closeButtonSize": { "type": "object", "properties": { "web": { "type": "string" } } }, - "closeButtonPosition": { "type": "object", "properties": { "web": { "type": "string" } } }, - "closeButtonColorTopOffset": { - "type": "object", - "properties": { "web": { "type": "string" } } - }, - "closeButtonColorSideOffset": { - "type": "object", - "properties": { "web": { "type": "string" } } - }, - "iconPath": { "type": "object", "properties": { "web": { "type": "string" } } }, - "isRequiredToDismissMessage": { + "packageName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + }, + "animationDuration": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "bottomOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "rightOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "topOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "displayInterval": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "handleLinks": { + "type": "object", + "properties": { + "web": { + "type": "string", + "enum": [ + "open-all-new-tab", + "open-all-same-tab", + "external-new-tab", + "" + ] + } + } + }, + "onOpenScreenReaderMessage": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "onOpenNodeToTakeFocus": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "closeButtonColor": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "closeButtonSize": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "closeButtonPosition": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "closeButtonColorTopOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "closeButtonColorSideOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "iconPath": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "isRequiredToDismissMessage": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "mapToSingleEvent": { + "type": "boolean", + "default": true + }, + "trackAllPages": { + "type": "boolean", + "default": false + }, + "trackCategorisedPages": { + "type": "boolean", + "default": true + }, + "trackNamedPages": { + "type": "boolean", + "default": true + }, + "preferUserId": { + "type": "boolean", + "default": true + }, + "mergeNestedObjects": { + "type": "boolean", + "default": true + }, + "oneTrustCookieCategories": { + "type": "array", + "items": { "type": "object", - "properties": { "web": { "type": "boolean" } } - }, - "mapToSingleEvent": { "type": "boolean", "default": true }, - "trackAllPages": { "type": "boolean", "default": false }, - "trackCategorisedPages": { "type": "boolean", "default": true }, - "trackNamedPages": { "type": "boolean", "default": true }, - "preferUserId": { "type": "boolean", "default": true }, - "mergeNestedObjects": { "type": "boolean", "default": true }, - "oneTrustCookieCategories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } + }, + "connectionMode": { + "type": "object", + "properties": { + "web": { + "type": "string", + "enum": [ + "cloud", + "device" + ] + } + } } } } diff --git a/src/configurations/destinations/iterable/ui-config.json b/src/configurations/destinations/iterable/ui-config.json index 7e536c8f8..56e51aa78 100644 --- a/src/configurations/destinations/iterable/ui-config.json +++ b/src/configurations/destinations/iterable/ui-config.json @@ -1,291 +1,486 @@ { - "uiConfig": [ - { - "title": "Connection Settings:", - "fields": [ - { - "type": "textInput", - "label": "Iterable Api Key", - "value": "apiKey", - "required": true, - "placeholder": "e.g: 42f187310705012194bd0bd694905664ae", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", - "regexErrorMessage": "Invalid Iterable Api Key" - } - ] - }, - { - "title": "Native SDK", + "uiConfig": { + "baseTemplate": [ + { + "title": "Initial setup", + "note": "Review how this destination is set up", + "sections": [ + { + "groups": [ + { + "title": "One click checkout", + "note": "Update your connection settings here", + "icon": "settings", + "fields": [ + { + "type": "textInput", + "label": "Iterable Api Key", + "configKey": "apiKey", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Iterable Api Key", + "placeholder": "e.g: 42f187310705012194bd0bd694905664ae" + }, + { + "type": "textInput", + "label": "Package Name", + "configKey": "packageName", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid package name", + "note": "Iterable package name. Applicable to device mode only", + "placeholder": "e.g: my-website" + } + ] + } + ] + }, + { + "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": "Page and Screen settings", + "note": "Set how you want to send your page and screen calls to Iterable", + "icon": "file", + "fields": [ + { + "preRequisites": { + "fields": [ + { + "configKey": "connectionModes.cloud", + "value": true + } + ] + }, + "type": "checkbox", + "label": "Map All Pages to Single Event Name", + "configKey": "mapToSingleEvent", + "default": true + }, + { + "preRequisites": { + "fields": [ + { + "configKey": "connectionModes.cloud", + "value": true + } + ] + }, + "type": "checkbox", + "label": "Track All Pages", + "configKey": "trackAllPages", + "default": false + }, + { + "preRequisites": { + "fields": [ + { + "configKey": "connectionModes.cloud", + "value": true + } + ] + }, + "type": "checkbox", + "label": "Track Categorised Pages", + "configKey": "trackCategorisedPages", + "default": true + }, + { + "preRequisites": { + "fields": [ + { + "configKey": "connectionModes.cloud", + "value": true + } + ] + }, + "type": "checkbox", + "label": "Track Named Pages", + "configKey": "trackNamedPages", + "default": true + } + ] + }, + { + "title": "Identify and Track settings", + "icon": "magnifyingGlass", + "note": "Configure your Identify and Track calls properties settings here", + "fields": [ + { + "preRequisites": { + "fields": [ + { + "configKey": "connectionModes.cloud", + "value": true + } + ] + }, + "type": "textInput", + "label": "Iterable Mobile/Web Api Key", + "configKey": "registerDeviceOrBrowserApiKey", + "placeholder": "e.g: 42f187310705012194bd0bd694905664ae", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Iterable Mobile/Web Api Key", + "note": "Iterable mobile/web key is required when you are sending token information in an identify call. RudderStack will use this key for registerDevice or registerBrowser api call" + }, + { + "preRequisites": { + "fields": [ + { + "configKey": "connectionModes.cloud", + "value": true + } + ] + }, + "type": "checkbox", + "label": "Create new user if userID exists", + "configKey": "preferUserId", + "default": true, + "note": [ + "For more information about preferUserId refer ", + { + "text": "this", + "link": "https://api.iterable.com/api/docs#users_updateUser" + }, + " link" + ] + }, + { + "preRequisites": { + "fields": [ + { + "configKey": "connectionModes.cloud", + "value": true + } + ] + }, + "type": "checkbox", + "label": "Merge top-level objects", + "configKey": "mergeNestedObjects", + "default": true, + "note": [ + "For more information about mergeNestedObjects refer ", + { + "text": "this", + "link": "https://api.iterable.com/api/docs#users_updateUser" + }, + " link" + ] + } + ] + } + ] + }, + { + "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": "connectionModes.webDevice", + "value": true + }, + { + "configKey": "connectionModes.mobileDevice", + "value": true + } + ], + "condition": "or" + }, + "fields": [ + { + "type": "singleSelect", + "label": "Choose if you want to turn on events 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 separate events by pressing ‘Enter’.\nInput the events you want to allowlist.", + "configKey": "whitelistedEvents", + "tagKey": "eventName", + "placeholder": "e.g: Anonymous page visit", + "default": [ + { + "eventName": "" + } + ], + "preRequisites": { + "fields": [ + { + "configKey": "eventFilteringOption", + "value": "whitelistedEvents" + } + ] + } + }, + { + "type": "tagInput", + "label": "Denylisted events", + "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to denylist. ", + "configKey": "blacklistedEvents", + "tagKey": "eventName", + "placeholder": "e.g: Anonymous page visit", + "default": [ + { + "eventName": "" + } + ], + "preRequisites": { + "fields": [ + { + "configKey": "eventFilteringOption", + "value": "blacklistedEvents" + } + ] + } + } + ] + }, + { + "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": "Web SDK settings", + "note": "not visible in the ui", "fields": [ { - "type": "checkbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": true - }, - { - "type": "dynamicCustomForm", - "value": "getInAppEventMapping", + "type": "tagInput", "label": "Mapping to trigger the getInApp messages", - "customFields": [ + "configKey": "getInAppEventMapping", + "tagKey": "eventName", + "default": [ { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Trigger inApp" + "eventName": "" } ], - "footerNote": "Set the event names for which you want to trigger the web in-app push events" + "note": "Set the event names for which you want to trigger the web in-app push events" }, { - "type": "dynamicCustomForm", - "value": "purchaseEventMapping", + "type": "tagInput", "label": "Mapping to trigger the purchase events", - "customFields": [ + "configKey": "purchaseEventMapping", + "tagKey": "eventName", + "default": [ { - "type": "textInput", - "value": "eventName", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false, - "placeholder": "e.g: Trigger purchase" + "eventName": "" } ], - "footerNote": "Set the event names for which you want to trigger the purchase events" + "note": "Set the event names for which you want to trigger the purchase events" }, { "type": "singleSelect", "label": "Identifier to identify a user over a session", - "value": "initialisationIdentifier", + "configKey": "initialisationIdentifier", "options": [ { - "name": "Email", + "label": "Email", "value": "email" }, { - "name": "UserID", + "label": "UserID", "value": "userId" } ], - "defaultOption": { - "name": "Email", - "value": "email" - } + "default": "email" }, { "type": "checkbox", "label": "Trigger a track event for web in-app push", - "value": "sendTrackForInapp", + "configKey": "sendTrackForInapp", "default": false, - "footerNote": "Enable this if you want to track web in-app push notifications." - }, - { - "type": "textInput", - "label": "Package Name", - "value": "packageName", - "required": true, - "placeholder": "e.g: my-website" + "note": "Enable this if you want to track web in-app push notifications" }, { "type": "textInput", "label": "Time (in ms) for messages to animate in and out", - "value": "animationDuration", - "required": false, + "configKey": "animationDuration", "placeholder": "e.g: 400" }, { "type": "textInput", - "label": "Space (px or %) between screen bottom & messages.", - "value": "bottomOffset", - "required": false, + "label": "Space (px or %) between screen bottom & messages", + "configKey": "bottomOffset", "placeholder": "e.g: 20%", - "footerNote": "Set the spacing between the screen bottom and push notification pop-up. This is not applicable for center, top, or full-screen messages" + "note": "Set the spacing between the screen bottom and push notification pop-up. This is not applicable for center, top, or full-screen messages" }, { "type": "textInput", - "label": "Space (px or %) between screen right & messages.", - "value": "rightOffset", - "required": false, + "label": "Space (px or %) between screen right & messages", + "configKey": "rightOffset", "placeholder": "e.g: 20%", - "footerNote": "Set the spacing between the screen right and push notification pop-up. This is not applicable for center, top, or full-screen messages." + "note": "Set the spacing between the screen right and push notification pop-up. This is not applicable for center, top, or full-screen messages" }, { "type": "textInput", - "label": "Space (px or %) between screen top & messages.", - "value": "topOffset", - "required": false, + "label": "Space (px or %) between screen top & messages", + "configKey": "topOffset", "placeholder": "e.g: 20%", - "footerNote": "Set the spacing between the screen top and push notification pop-up. This is not applicable for center, top, or full-screen messages." + "note": "Set the spacing between the screen top and push notification pop-up. This is not applicable for center, top, or full-screen messages" }, { "type": "textInput", "label": "Wait time for next message", - "value": "displayInterval", - "required": false, + "configKey": "displayInterval", "placeholder": "e.g: 25000", - "footerNote": "Time (in ms) to wait before showing next in-app message after closing the currently opened one." + "note": "Time (in ms) to wait before showing next in-app message after closing the currently opened one" }, { "type": "singleSelect", - "label": "Control how to open links.", - "value": "handleLinks", - "required": false, + "label": "Control how to open links", + "configKey": "handleLinks", + "note": "Set how do you want the links present in the push notification to open", "options": [ { - "name": "Open all in new tabs", + "label": "Open all in new tabs", "value": "open-all-new-tab" }, { - "name": "Open all in same tabs", + "label": "Open all in same tabs", "value": "open-all-same-tab" }, { - "name": "Open in external new tab", + "label": "Open in external new tab", "value": "external-new-tab" } ], - "footerNote": "Set how do you want the links present in the push notification to open." + "default": "open-all-new-tab" }, { "type": "textInput", "label": "Screen Reader Text", - "value": "onOpenScreenReaderMessage", - "required": false, + "configKey": "onOpenScreenReaderMessage", "placeholder": "e.g: Reader message here", - "footerNote": "Text that screen reader should use to announce when opening in-app messages." + "note": "Text that screen reader should use to announce when opening in-app messages" }, { "type": "textInput", "label": "Focus Element", - "value": "onOpenNodeToTakeFocus", - "required": false, + "configKey": "onOpenNodeToTakeFocus", "placeholder": "e.g: input", - "footerNote": "Specify the DOM element to take keyboard focus when the in-app message opens." + "note": "Specify the DOM element to take keyboard focus when the in-app message opens" }, { "type": "textInput", "label": "Color of Close button", - "value": "closeButtonColor", - "required": false, + "configKey": "closeButtonColor", "placeholder": "e.g: cyan" }, { - "type": "textInput", - "label": "Size of Close button", - "value": "closeButtonSize", - "required": false, - "placeholder": "e.g: 24" - }, - { - "type": "textInput", - "label": "Position", - "value": "closeButtonPosition", - "required": false, - "footerNote": "Cross button's position relative to the in-app message.", + "type": "singleSelect", + "label": "Position of Close button", + "configKey": "closeButtonPosition", + "note": "Cross button's position relative to the in-app message", "options": [ { - "name": "Top Right", - "value": "otop-right" + "label": "Top Right", + "value": "top-right" }, { - "name": "Top Left", + "label": "Top Left", "value": "top-left" } - ] + ], + "default": "top-right" }, { "type": "textInput", "label": "Space between button & container top", - "value": "closeButtonColorTopOffset", - "required": false, + "configKey": "closeButtonColorTopOffset", "placeholder": "e.g: 4%", - "footerNote": "Set the spacing between the cross button and the pop-up notification's top border" + "note": "Set the spacing between the cross button and the pop-up notification's top border" }, { "type": "textInput", "label": "Space between button & container side", - "value": "closeButtonColorSideOffset", - "required": false, + "configKey": "closeButtonColorSideOffset", "placeholder": "e.g: 4%", - "footerNote": "Set the spacing between the cross button and the pop-up notification's side borders" + "note": "Set the spacing between the cross button and the pop-up notification's side borders" }, { "type": "textInput", "label": "Custom pathname", - "value": "iconPath", - "required": false, + "configKey": "iconPath", "placeholder": "e.g: path/to/icon", - "footerNote": "image or SVG to show instead of the default X" + "note": "image or SVG to show instead of the default X" }, { "type": "checkbox", "label": "Prevent user dismissing in-app message by clicking outside message", - "value": "isRequiredToDismissMessage", - "default": false - } - ] - }, - { - "title": "Other Settings", - "fields": [ - { - "type": "checkbox", - "label": "Map All Pages to Single Event Name", - "value": "mapToSingleEvent", - "default": true - }, - { - "type": "checkbox", - "label": "Track All Pages", - "value": "trackAllPages", - "default": false - }, - { - "type": "checkbox", - "label": "Track Categorised Pages", - "value": "trackCategorisedPages", - "default": true - }, - { - "type": "checkbox", - "label": "Track Named Pages", - "value": "trackNamedPages", - "default": true - }, - { - "type": "checkbox", - "label": "Create new user if userID exists", - "value": "preferUserId", - "footerNote": "For more information refer preferUserId in this link https://api.iterable.com/api/docs#users_updateUser", - "default": true - }, - { - "type": "checkbox", - "label": "Merge top-level objects", - "value": "mergeNestedObjects", - "footerNote": "For more information refer mergeNestedObjects in this link https://api.iterable.com/api/docs#users_updateUser", - "default": true - } - ] - }, - { - "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 - } - ] + "configKey": "isRequiredToDismissMessage" } ] } - ] + } } From 3d1bccc3a06d70c5052347c51e4bb34865529727 Mon Sep 17 00:00:00 2001 From: mihir-4116 Date: Tue, 1 Aug 2023 15:11:55 +0530 Subject: [PATCH 02/92] fix(ga4): firebaseAppId config field issue --- .../destinations/ga4/schema.json | 151 +++++++++++++++--- .../destinations/ga4/ui-config.json | 2 +- test/data/validation/destinations/ga4.json | 5 +- 3 files changed, 134 insertions(+), 24 deletions(-) diff --git a/src/configurations/destinations/ga4/schema.json b/src/configurations/destinations/ga4/schema.json index 3bca645fc..d9dd232a9 100644 --- a/src/configurations/destinations/ga4/schema.json +++ b/src/configurations/destinations/ga4/schema.json @@ -1,26 +1,35 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "required": ["apiSecret", "typesOfClient", "measurementId", "firebaseAppId"], + "required": [ + "apiSecret", + "typesOfClient" + ], "type": "object", "properties": { "apiSecret": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "typesOfClient": { "type": "string", "enum": ["gtag", "firebase"], "default": "gtag" }, - "measurementId": { + "typesOfClient": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(G-.{1,100})$|^$" + "enum": [ + "gtag", + "firebase" + ], + "default": "gtag" }, - "firebaseAppId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "debugMode": { + "type": "boolean", + "default": false }, - "debugMode": { "type": "boolean", "default": false }, "eventFilteringOption": { "type": "string", - "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "enum": [ + "disable", + "whitelistedEvents", + "blacklistedEvents" + ], "default": "disable" }, "whitelistedEvents": { @@ -61,30 +70,130 @@ }, "capturePageView": { "type": "object", - "properties": { "web": { "type": "string", "enum": ["rs", "gtag"], "default": "rs" } } + "properties": { + "web": { + "type": "string", + "enum": [ + "rs", + "gtag" + ], + "default": "rs" + } + } + }, + "debugView": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "extendPageViewParams": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } }, - "debugView": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "extendPageViewParams": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "overrideClientAndSessionId": { "type": "object", - "properties": { "web": { "type": "boolean" } } + "properties": { + "web": { + "type": "boolean" + } + } }, "useNativeSDK": { "type": "object", "properties": { - "android": { "type": "boolean" }, - "ios": { "type": "boolean" }, - "web": { "type": "boolean" } + "android": { + "type": "boolean" + }, + "ios": { + "type": "boolean" + }, + "web": { + "type": "boolean" + } } }, "connectionMode": { "type": "object", "properties": { - "android": { "type": "string", "enum": ["cloud", "device"] }, - "ios": { "type": "string", "enum": ["cloud", "device"] }, - "web": { "type": "string", "enum": ["cloud", "device", "hybrid"] } + "android": { + "type": "string", + "enum": [ + "cloud", + "device" + ] + }, + "ios": { + "type": "string", + "enum": [ + "cloud", + "device" + ] + }, + "web": { + "type": "string", + "enum": [ + "cloud", + "device", + "hybrid" + ] + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "typesOfClient": { + "const": "gtag" + } + }, + "required": [ + "typesOfClient" + ] + }, + "then": { + "properties": { + "measurementId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(G-.{1,100})$|^$" + } + }, + "required": [ + "measurementId" + ] + } + }, + { + "if": { + "properties": { + "typesOfClient": { + "const": "firebase" + } + }, + "required": [ + "typesOfClient" + ] + }, + "then": { + "properties": { + "firebaseAppId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + }, + "required": [ + "firebaseAppId" + ] } } - } + ] } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/ga4/ui-config.json b/src/configurations/destinations/ga4/ui-config.json index da8f4bb49..e28a34143 100644 --- a/src/configurations/destinations/ga4/ui-config.json +++ b/src/configurations/destinations/ga4/ui-config.json @@ -68,7 +68,7 @@ }, "label": "Firebase App Id", "configKey": "firebaseAppId", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Firebase App Id", "note": "Enter the ID associated with your stream. Find this under Admin > Data Streams > choose your stream > Firebase App ID", "placeholder": "e.g: 2:637908496727:web:a4284b4c99e329d5", diff --git a/test/data/validation/destinations/ga4.json b/test/data/validation/destinations/ga4.json index d2f0c3594..f92425151 100644 --- a/test/data/validation/destinations/ga4.json +++ b/test/data/validation/destinations/ga4.json @@ -81,7 +81,8 @@ }, "result": false, "err": [ - "measurementId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(G-.{1,100})$|^$\"" + "measurementId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(G-.{1,100})$|^$\"", + " must match \"then\" schema" ] }, { @@ -294,4 +295,4 @@ }, "result": true } -] +] \ No newline at end of file From 8331975bef214295c130713f2e7f7743ecf5ef10 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 1 Aug 2023 10:38:05 +0000 Subject: [PATCH 03/92] chore(release): 1.43.2 --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bffc903f..e2c6e6b8f 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.43.2](https://github.com/rudderlabs/rudder-config-schema/compare/v1.43.1...v1.43.2) (2023-08-01) + + +### Bug Fixes + +* **ga4:** firebaseAppId config field issue ([3d1bccc](https://github.com/rudderlabs/rudder-config-schema/commit/3d1bccc3a06d70c5052347c51e4bb34865529727)) + ### [1.43.1](https://github.com/rudderlabs/rudder-config-schema/compare/v1.43.0...v1.43.1) (2023-07-28) ## [1.43.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.42.2...v1.43.0) (2023-07-24) diff --git a/package-lock.json b/package-lock.json index 22b73123f..61e00364f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.43.1", + "version": "1.43.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.43.1", + "version": "1.43.2", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 98312b657..870b018b8 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.43.1", + "version": "1.43.2", "description": "", "main": "src/index.ts", "private": true, From b364fad5350e2724b4966dfbed6548800afd887e Mon Sep 17 00:00:00 2001 From: mihir-4116 Date: Tue, 1 Aug 2023 17:16:43 +0530 Subject: [PATCH 04/92] chore: additional improvements --- .../destinations/iterable/db-config.json | 13 +- .../destinations/iterable/schema.json | 349 ++++++++++-------- .../destinations/iterable/ui-config.json | 8 + .../validation/destinations/iterable.json | 197 ++++++++-- 4 files changed, 380 insertions(+), 187 deletions(-) diff --git a/src/configurations/destinations/iterable/db-config.json b/src/configurations/destinations/iterable/db-config.json index 2ef6f6c53..ae38804cd 100644 --- a/src/configurations/destinations/iterable/db-config.json +++ b/src/configurations/destinations/iterable/db-config.json @@ -60,13 +60,14 @@ "destConfig": { "defaultConfig": [ "apiKey", - "mapToSingleEvent", + "packageName", + "preferUserId", "trackAllPages", - "trackCategorisedPages", "trackNamedPages", - "oneTrustCookieCategories", - "preferUserId", - "mergeNestedObjects" + "mapToSingleEvent", + "mergeNestedObjects", + "trackCategorisedPages", + "oneTrustCookieCategories" ], "web": [ "useNativeSDK", @@ -94,4 +95,4 @@ }, "secretKeys": [] } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/iterable/schema.json b/src/configurations/destinations/iterable/schema.json index fee06c4e9..5903b4db9 100644 --- a/src/configurations/destinations/iterable/schema.json +++ b/src/configurations/destinations/iterable/schema.json @@ -1,14 +1,23 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "required": ["apiKey"], + "required": [ + "apiKey" + ], "type": "object", "properties": { "apiKey": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, "getInAppEventMapping": { "type": "object", "properties": { @@ -64,184 +73,210 @@ } } }, - "packageName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - } - }, - "animationDuration": { - "type": "object", - "properties": { - "web": { - "type": "string" + "animationDuration": { + "type": "object", + "properties": { + "web": { + "type": "string" + } } - } - }, - "bottomOffset": { - "type": "object", - "properties": { - "web": { - "type": "string" + }, + "bottomOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } } - } - }, - "rightOffset": { - "type": "object", - "properties": { - "web": { - "type": "string" + }, + "rightOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } } - } - }, - "topOffset": { - "type": "object", - "properties": { - "web": { - "type": "string" + }, + "topOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } } - } - }, - "displayInterval": { - "type": "object", - "properties": { - "web": { - "type": "string" + }, + "displayInterval": { + "type": "object", + "properties": { + "web": { + "type": "string" + } } - } - }, - "handleLinks": { - "type": "object", - "properties": { - "web": { - "type": "string", - "enum": [ - "open-all-new-tab", - "open-all-same-tab", - "external-new-tab", - "" - ] + }, + "handleLinks": { + "type": "object", + "properties": { + "web": { + "type": "string", + "enum": [ + "open-all-new-tab", + "open-all-same-tab", + "external-new-tab", + "" + ] + } } - } - }, - "onOpenScreenReaderMessage": { - "type": "object", - "properties": { - "web": { - "type": "string" + }, + "onOpenScreenReaderMessage": { + "type": "object", + "properties": { + "web": { + "type": "string" + } } - } - }, - "onOpenNodeToTakeFocus": { - "type": "object", - "properties": { - "web": { - "type": "string" + }, + "onOpenNodeToTakeFocus": { + "type": "object", + "properties": { + "web": { + "type": "string" + } } - } - }, - "closeButtonColor": { - "type": "object", - "properties": { - "web": { - "type": "string" + }, + "closeButtonColor": { + "type": "object", + "properties": { + "web": { + "type": "string" + } } - } - }, - "closeButtonSize": { - "type": "object", - "properties": { - "web": { - "type": "string" + }, + "closeButtonSize": { + "type": "object", + "properties": { + "web": { + "type": "string" + } } - } - }, - "closeButtonPosition": { - "type": "object", - "properties": { - "web": { - "type": "string" + }, + "closeButtonPosition": { + "type": "object", + "properties": { + "web": { + "type": "string" + } } - } - }, - "closeButtonColorTopOffset": { - "type": "object", - "properties": { - "web": { - "type": "string" + }, + "closeButtonColorTopOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } } - } - }, - "closeButtonColorSideOffset": { - "type": "object", - "properties": { - "web": { - "type": "string" + }, + "closeButtonColorSideOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } } - } - }, - "iconPath": { - "type": "object", - "properties": { - "web": { - "type": "string" + }, + "iconPath": { + "type": "object", + "properties": { + "web": { + "type": "string" + } } - } - }, - "isRequiredToDismissMessage": { - "type": "object", - "properties": { - "web": { - "type": "boolean" + }, + "isRequiredToDismissMessage": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } } - } - }, - "mapToSingleEvent": { - "type": "boolean", - "default": true - }, - "trackAllPages": { - "type": "boolean", - "default": false - }, - "trackCategorisedPages": { - "type": "boolean", - "default": true - }, - "trackNamedPages": { - "type": "boolean", - "default": true - }, - "preferUserId": { - "type": "boolean", - "default": true - }, - "mergeNestedObjects": { - "type": "boolean", - "default": true - }, - "oneTrustCookieCategories": { - "type": "array", - "items": { + }, + "mapToSingleEvent": { + "type": "boolean", + "default": true + }, + "trackAllPages": { + "type": "boolean", + "default": false + }, + "trackCategorisedPages": { + "type": "boolean", + "default": true + }, + "trackNamedPages": { + "type": "boolean", + "default": true + }, + "preferUserId": { + "type": "boolean", + "default": true + }, + "mergeNestedObjects": { + "type": "boolean", + "default": true + }, + "oneTrustCookieCategories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "connectionMode": { "type": "object", "properties": { - "oneTrustCookieCategory": { + "web": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "enum": [ + "cloud", + "device" + ] } } } }, - "connectionMode": { - "type": "object", - "properties": { - "web": { - "type": "string", - "enum": [ - "cloud", - "device" + "anyOf": [ + { + "if": { + "properties": { + "connectionMode": { + "type": "object", + "properties": { + "web": { + "const": "device" + } + } + } + }, + "required": [ + "connectionMode" + ] + }, + "then": { + "properties": { + "packageName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + }, + "required": [ + "packageName" ] } } - } + ] } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/iterable/ui-config.json b/src/configurations/destinations/iterable/ui-config.json index 56e51aa78..41a22cb8d 100644 --- a/src/configurations/destinations/iterable/ui-config.json +++ b/src/configurations/destinations/iterable/ui-config.json @@ -21,6 +21,14 @@ "placeholder": "e.g: 42f187310705012194bd0bd694905664ae" }, { + "preRequisites": { + "fields": [ + { + "configKey": "connectionModes.webDevice", + "value": true + } + ] + }, "type": "textInput", "label": "Package Name", "configKey": "packageName", diff --git a/test/data/validation/destinations/iterable.json b/test/data/validation/destinations/iterable.json index 4271639dc..ba08420cf 100644 --- a/test/data/validation/destinations/iterable.json +++ b/test/data/validation/destinations/iterable.json @@ -6,31 +6,180 @@ "trackAllPages": false, "trackCategorisedPages": true, "trackNamedPages": true, - "useNativeSDK": { "web": true }, - "initialisationIdentifier": { "web": "email" }, + "useNativeSDK": { + "web": false + }, + "connectionMode": { + "web": "cloud" + }, + "initialisationIdentifier": { + "web": "email" + }, "getInAppEventMapping": { - "web": [{ "eventName": "sale notification" }, { "eventName": "festival discount" }] - }, - "purchaseEventMapping": { "web": [{ "eventName": "Checkout Done" }] }, - "sendTrackForInapp": { "web": true }, - "animationDuration": { "web": "200" }, - "displayInterval": { "web": "2500" }, - "onOpenScreenReaderMessage": { "web": "" }, - "onOpenNodeToTakeFocus": { "web": "" }, - "packageName": { "web": "my-package-test" }, - "rightOffset": { "web": "15" }, - "topOffset": { "web": "11" }, - "bottomOffset": { "web": "24%" }, - "handleLinks": { "web": "open-all-new-tab" }, - "closeButtonColor": { "web": "blue" }, - "closeButtonSize": { "web": "" }, - "closeButtonColorTopOffset": { "web": "3%" }, - "closeButtonColorSideOffset": { "web": "2%" }, - "iconPath": { "web": "" }, - "isRequiredToDismissMessage": { "web": true }, - "closeButtonPosition": { "web": "" }, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "" }] + "web": [ + { + "eventName": "sale notification" + }, + { + "eventName": "festival discount" + } + ] + }, + "purchaseEventMapping": { + "web": [ + { + "eventName": "Checkout Done" + } + ] + }, + "sendTrackForInapp": { + "web": true + }, + "animationDuration": { + "web": "200" + }, + "displayInterval": { + "web": "2500" + }, + "onOpenScreenReaderMessage": { + "web": "" + }, + "onOpenNodeToTakeFocus": { + "web": "" + }, + "rightOffset": { + "web": "15" + }, + "topOffset": { + "web": "11" + }, + "bottomOffset": { + "web": "24%" + }, + "handleLinks": { + "web": "open-all-new-tab" + }, + "closeButtonColor": { + "web": "blue" + }, + "closeButtonSize": { + "web": "" + }, + "closeButtonColorTopOffset": { + "web": "3%" + }, + "closeButtonColorSideOffset": { + "web": "2%" + }, + "iconPath": { + "web": "" + }, + "isRequiredToDismissMessage": { + "web": true + }, + "closeButtonPosition": { + "web": "" + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "" + } + ] }, "result": true + }, + { + "config": { + "apiKey": "73983282843839749873", + "mapToSingleEvent": true, + "trackAllPages": false, + "trackCategorisedPages": true, + "trackNamedPages": true, + "useNativeSDK": { + "web": true + }, + "connectionMode": { + "web": "device" + }, + "initialisationIdentifier": { + "web": "email" + }, + "getInAppEventMapping": { + "web": [ + { + "eventName": "sale notification" + }, + { + "eventName": "festival discount" + } + ] + }, + "purchaseEventMapping": { + "web": [ + { + "eventName": "Checkout Done" + } + ] + }, + "sendTrackForInapp": { + "web": true + }, + "animationDuration": { + "web": "200" + }, + "displayInterval": { + "web": "2500" + }, + "onOpenScreenReaderMessage": { + "web": "" + }, + "onOpenNodeToTakeFocus": { + "web": "" + }, + "rightOffset": { + "web": "15" + }, + "topOffset": { + "web": "11" + }, + "bottomOffset": { + "web": "24%" + }, + "handleLinks": { + "web": "open-all-new-tab" + }, + "closeButtonColor": { + "web": "blue" + }, + "closeButtonSize": { + "web": "" + }, + "closeButtonColorTopOffset": { + "web": "3%" + }, + "closeButtonColorSideOffset": { + "web": "2%" + }, + "iconPath": { + "web": "" + }, + "isRequiredToDismissMessage": { + "web": true + }, + "closeButtonPosition": { + "web": "" + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "" + } + ] + }, + "result": false, + "err": [ + " must have required property 'packageName'", + " must match \"then\" schema", + " must match a schema in anyOf" + ] } -] +] \ No newline at end of file From c68062b3e72594b9b878324a6ef749114adacc15 Mon Sep 17 00:00:00 2001 From: Anant Jain <62471433+anantjain45823@users.noreply.github.com> Date: Wed, 2 Aug 2023 10:05:45 +0530 Subject: [PATCH 05/92] feat: customerio option to send page name (#789) --- .../destinations/customerio/db-config.json | 2 +- .../destinations/customerio/schema.json | 35 ++++- .../destinations/customerio/ui-config.json | 9 +- .../validation/destinations/customerio.json | 143 +++++++++++++++--- 4 files changed, 158 insertions(+), 31 deletions(-) diff --git a/src/configurations/destinations/customerio/db-config.json b/src/configurations/destinations/customerio/db-config.json index b1c28b50f..7f15f692a 100644 --- a/src/configurations/destinations/customerio/db-config.json +++ b/src/configurations/destinations/customerio/db-config.json @@ -41,7 +41,7 @@ "eventFilteringOption", "oneTrustCookieCategories" ], - "web": ["useNativeSDK"] + "web": ["useNativeSDK", "sendPageNameInSDK"] }, "secretKeys": [] } diff --git a/src/configurations/destinations/customerio/schema.json b/src/configurations/destinations/customerio/schema.json index 4c496e046..c0a5a2883 100644 --- a/src/configurations/destinations/customerio/schema.json +++ b/src/configurations/destinations/customerio/schema.json @@ -1,7 +1,10 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "required": ["siteID", "apiKey"], + "required": [ + "siteID", + "apiKey" + ], "type": "object", "properties": { "siteID": { @@ -16,11 +19,33 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "datacenterEU": { "type": "boolean", "default": false }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "datacenterEU": { + "type": "boolean", + "default": false + }, + "sendPageNameInSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, "eventFilteringOption": { "type": "string", - "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "enum": [ + "disable", + "whitelistedEvents", + "blacklistedEvents" + ], "default": "disable" }, "whitelistedEvents": { @@ -61,4 +86,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/customerio/ui-config.json b/src/configurations/destinations/customerio/ui-config.json index ed1a2f987..58ecda6b1 100644 --- a/src/configurations/destinations/customerio/ui-config.json +++ b/src/configurations/destinations/customerio/ui-config.json @@ -36,6 +36,13 @@ "value": "datacenterEU", "default": false, "footerNote": "Turn it ON if you want to send data to EU servers" + }, + { + "type": "checkbox", + "label": "Send Page Name in SDK mode", + "value": "sendPageNameInSDK", + "default": true, + "footerNote": "Turn it OFF if you don't want to send the page name when connected in device mode. If OFF page name will automatically be captured by CustomerIo." } ] }, @@ -125,4 +132,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/test/data/validation/destinations/customerio.json b/test/data/validation/destinations/customerio.json index 4d2c584e9..3e95eafc4 100644 --- a/test/data/validation/destinations/customerio.json +++ b/test/data/validation/destinations/customerio.json @@ -6,10 +6,27 @@ "deviceTokenEventName": "device_token_registered", "datacenterEU": false, "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "eventmodel" }], - "blacklistedEvents": [{ "eventName": "taxmodel" }], - "useNativeSDK": { "web": false }, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "Marketing" }] + "whitelistedEvents": [ + { + "eventName": "eventmodel" + } + ], + "blacklistedEvents": [ + { + "eventName": "taxmodel" + } + ], + "useNativeSDK": { + "web": false + }, + "sendPageNameInSDK": { + "web": true + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] }, "result": true }, @@ -19,13 +36,32 @@ "deviceTokenEventName": "device_token_registered", "datacenterEU": false, "eventFilteringOption": "whitelistedEvents", - "whitelistedEvents": [{ "eventName": "eventmodel" }], - "blacklistedEvents": [{ "eventName": "taxmodel" }], - "useNativeSDK": { "web": false }, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "" }] + "whitelistedEvents": [ + { + "eventName": "eventmodel" + } + ], + "blacklistedEvents": [ + { + "eventName": "taxmodel" + } + ], + "useNativeSDK": { + "web": false + }, + "sendPageNameInSDK": { + "web": false + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "" + } + ] }, "result": false, - "err": [" must have required property 'siteID'"] + "err": [ + " must have required property 'siteID'" + ] }, { "config": { @@ -33,10 +69,27 @@ "apiKey": "95bd1330072974f0ff9b", "deviceTokenEventName": "device_location_registered", "datacenterEU": true, - "whitelistedEvents": [{ "eventName": "practice" }], - "blacklistedEvents": [{ "eventName": "spam_listings" }], - "useNativeSDK": { "web": false }, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "Sales" }] + "whitelistedEvents": [ + { + "eventName": "practice" + } + ], + "blacklistedEvents": [ + { + "eventName": "spam_listings" + } + ], + "useNativeSDK": { + "web": false + }, + "sendPageNameInSDK": { + "web": false + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "Sales" + } + ] }, "result": true }, @@ -47,13 +100,35 @@ "deviceTokenEventName": "device_id_removed", "datacenterEU": false, "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": ["e1", "v1"] }], - "blacklistedEvents": [{ "eventName": "taxmodel" }], - "useNativeSDK": { "web": false }, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "Pitch" }] + "whitelistedEvents": [ + { + "eventName": [ + "e1", + "v1" + ] + } + ], + "blacklistedEvents": [ + { + "eventName": "taxmodel" + } + ], + "useNativeSDK": { + "web": false + }, + "sendPageNameInSDK": { + "web": true + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "Pitch" + } + ] }, "result": false, - "err": ["whitelistedEvents.0.eventName must be string"] + "err": [ + "whitelistedEvents.0.eventName must be string" + ] }, { "config": { @@ -62,11 +137,22 @@ "deviceTokenEventName": "device_token_registered", "datacenterEU": "Germany", "eventFilteringOption": "disable", - "useNativeSDK": { "web": false }, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "Marketing" }] + "useNativeSDK": { + "web": false + }, + "sendPageNameInSDK": { + "web": false + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] }, "result": false, - "err": ["datacenterEU must be boolean"] + "err": [ + "datacenterEU must be boolean" + ] }, { "config": { @@ -75,12 +161,21 @@ "deviceTokenEventName": "qwsafpmznjhbfjhchdgeiuudhwgvdfkzxuiookaghhrytedhgfgjslalapooiqnbvemixuhevvsjklodjdokhuijghqwnvzxccdwsalkijediwhfwibkjnkji", "datacenterEU": true, "eventFilteringOption": "disable", - "useNativeSDK": { "web": false }, - "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "Marketing" }] + "useNativeSDK": { + "web": false + }, + "sendPageNameInSDK": { + "web": false + }, + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] }, "result": false, "err": [ "deviceTokenEventName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\"" ] } -] +] \ No newline at end of file From a7b3159c55f8016a1cf6ebefb75f4896907f686a Mon Sep 17 00:00:00 2001 From: Anant Jain <62471433+anantjain45823@users.noreply.github.com> Date: Thu, 3 Aug 2023 10:23:50 +0530 Subject: [PATCH 06/92] fix: include sendPageNameInSDK in includeKeys array (#809) --- src/configurations/destinations/customerio/db-config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/configurations/destinations/customerio/db-config.json b/src/configurations/destinations/customerio/db-config.json index 7f15f692a..1ecd2f41b 100644 --- a/src/configurations/destinations/customerio/db-config.json +++ b/src/configurations/destinations/customerio/db-config.json @@ -14,7 +14,8 @@ "blacklistedEvents", "whitelistedEvents", "oneTrustCookieCategories", - "eventFilteringOption" + "eventFilteringOption", + "sendPageNameInSDK" ], "excludeKeys": [], "supportedSourceTypes": [ From c0475c3f0d3c29dc8d1c3d8394ed9f4f4e7061ae Mon Sep 17 00:00:00 2001 From: Anant Jain <62471433+anantjain45823@users.noreply.github.com> Date: Fri, 4 Aug 2023 11:23:34 +0530 Subject: [PATCH 07/92] feat: new source type shopify changes (#729) Co-authored-by: Ujjwal Abhishek <63387036+ujjwal-ab@users.noreply.github.com> --- .../active_campaign/db-config.json | 3 +- .../destinations/adj/db-config.json | 25 ++++++--- .../adobe_analytics/db-config.json | 3 +- .../destinations/af/db-config.json | 3 +- .../destinations/airship/db-config.json | 3 +- .../destinations/algolia/db-config.json | 3 +- .../destinations/am/db-config.json | 3 +- .../destinations/appcues/db-config.json | 3 +- .../destinations/attentive_tag/db-config.json | 3 +- .../destinations/attribution/db-config.json | 3 +- .../destinations/autopilot/db-config.json | 3 +- .../destinations/awin/db-config.json | 3 +- .../destinations/azure_blob/db-config.json | 3 +- .../azure_datalake/db-config.json | 3 +- .../azure_event_hub/db-config.json | 3 +- .../destinations/azure_synapse/db-config.json | 3 +- .../bingads_audience/db-config.json | 2 +- .../destinations/blueshift/db-config.json | 31 ++++++++--- .../destinations/bq/db-config.json | 3 +- .../destinations/bqstream/db-config.json | 3 +- .../destinations/branch/db-config.json | 3 +- .../destinations/braze/db-config.json | 3 +- .../campaign_manager/db-config.json | 3 +- .../destinations/candu/db-config.json | 3 +- .../destinations/canny/db-config.json | 3 +- .../destinations/clevertap/db-config.json | 3 +- .../destinations/clickhouse/db-config.json | 3 +- .../destinations/clickup/db-config.json | 3 +- .../confluent_cloud/db-config.json | 3 +- .../destinations/courier/db-config.json | 3 +- .../criteo_audience/db-config.json | 2 +- .../destinations/custify/db-config.json | 3 +- .../destinations/customerio/db-config.json | 3 +- .../dcm_floodlight/db-config.json | 2 +- .../destinations/delighted/db-config.json | 3 +- .../destinations/deltalake/db-config.json | 3 +- .../digital_ocean_spaces/db-config.json | 3 +- .../destinations/discord/db-config.json | 3 +- .../destinations/drip/db-config.json | 3 +- .../destinations/dynamic_yield/db-config.json | 3 +- .../destinations/engage/db-config.json | 3 +- .../destinations/eventbridge/db-config.json | 3 +- .../db-config.json | 3 +- .../facebook_pixel/db-config.json | 3 +- .../destinations/factorsai/db-config.json | 3 +- .../destinations/fb/db-config.json | 3 +- .../fb_custom_audience/db-config.json | 2 +- .../destinations/firehose/db-config.json | 3 +- .../destinations/freshmarketer/db-config.json | 3 +- .../destinations/freshsales/db-config.json | 3 +- .../destinations/ga/db-config.json | 3 +- .../destinations/ga360/db-config.json | 3 +- .../destinations/ga4/db-config.json | 54 +++++++++++++++---- .../destinations/gainsight/db-config.json | 3 +- .../destinations/gainsight_px/db-config.json | 3 +- .../destinations/gcs/db-config.json | 3 +- .../destinations/gcs_datalake/db-config.json | 3 +- .../db-config.json | 3 +- .../db-config.json | 3 +- .../db-config.json | 2 +- .../google_cloud_function/db-config.json | 3 +- .../destinations/googleads/db-config.json | 4 +- .../destinations/googlepubsub/db-config.json | 3 +- .../destinations/googlesheets/db-config.json | 3 +- .../destinations/heap/db-config.json | 3 +- .../destinations/hs/db-config.json | 3 +- .../destinations/impact/db-config.json | 3 +- .../destinations/indicative/db-config.json | 3 +- .../destinations/intercom/db-config.json | 3 +- .../destinations/iterable/db-config.json | 3 +- .../destinations/june/db-config.json | 3 +- .../destinations/kafka/db-config.json | 3 +- .../destinations/keen/db-config.json | 3 +- .../destinations/kinesis/db-config.json | 3 +- .../destinations/kissmetrics/db-config.json | 3 +- .../destinations/klaviyo/db-config.json | 3 +- .../destinations/kochava/db-config.json | 3 +- .../destinations/kustomer/db-config.json | 3 +- .../destinations/lambda/db-config.json | 3 +- .../destinations/leanplum/db-config.json | 3 +- .../destinations/lemnisk/db-config.json | 3 +- .../destinations/lytics/db-config.json | 3 +- .../destinations/mailchimp/db-config.json | 3 +- .../destinations/mailjet/db-config.json | 3 +- .../destinations/mailmodo/db-config.json | 3 +- .../destinations/marketo/db-config.json | 3 +- .../marketo_bulk_upload/db-config.json | 3 +- .../marketo_static_list/db-config.json | 2 +- .../destinations/mautic/db-config.json | 3 +- .../destinations/minio/db-config.json | 3 +- .../destinations/moengage/db-config.json | 3 +- .../destinations/monday/db-config.json | 3 +- .../destinations/monetate/db-config.json | 3 +- .../destinations/mp/db-config.json | 3 +- .../destinations/mssql/db-config.json | 3 +- .../destinations/new_relic/db-config.json | 3 +- .../destinations/ometria/db-config.json | 3 +- .../destinations/one_signal/db-config.json | 3 +- .../optimizely_fullstack/db-config.json | 3 +- .../destinations/pagerduty/db-config.json | 3 +- .../destinations/pardot/db-config.json | 3 +- .../destinations/persistiq/db-config.json | 3 +- .../destinations/personalize/db-config.json | 3 +- .../destinations/pinterest_tag/db-config.json | 3 +- .../destinations/pipedream/db-config.json | 3 +- .../destinations/pipedrive/db-config.json | 3 +- .../destinations/postgres/db-config.json | 3 +- .../destinations/posthog/db-config.json | 3 +- .../destinations/profitwell/db-config.json | 3 +- .../destinations/redis/db-config.json | 3 +- .../destinations/refiner/db-config.json | 3 +- .../destinations/revenue_cat/db-config.json | 3 +- .../destinations/rockerbox/db-config.json | 6 ++- .../destinations/rs/db-config.json | 3 +- .../destinations/s3/db-config.json | 3 +- .../destinations/s3_datalake/db-config.json | 3 +- .../destinations/salesforce/db-config.json | 3 +- .../destinations/segment/db-config.json | 3 +- .../destinations/sendgrid/db-config.json | 3 +- .../destinations/sendinblue/db-config.json | 3 +- .../destinations/serenytics/db-config.json | 3 +- .../destinations/sfmc/db-config.json | 3 +- .../destinations/shynet/db-config.json | 3 +- .../destinations/signl4/db-config.json | 3 +- .../destinations/singular/db-config.json | 3 +- .../destinations/slack/db-config.json | 3 +- .../snapchat_conversion/db-config.json | 3 +- .../snapchat_custom_audience/db-config.json | 31 ++++++++--- .../destinations/snowflake/db-config.json | 3 +- .../destinations/splitio/db-config.json | 3 +- .../destinations/statsig/db-config.json | 3 +- .../destinations/stormly/db-config.json | 7 +-- .../tiktok_ads_offline_events/db-config.json | 3 +- .../destinations/trengo/db-config.json | 3 +- .../destinations/twitter_ads/db-config.json | 3 +- .../destinations/user/db-config.json | 3 +- .../destinations/userlist/db-config.json | 3 +- .../destinations/variance/db-config.json | 3 +- .../destinations/vero/db-config.json | 3 +- .../destinations/vitally/db-config.json | 3 +- .../destinations/webengage/db-config.json | 3 +- .../destinations/webhook/db-config.json | 3 +- .../destinations/woopra/db-config.json | 3 +- .../destinations/wootric/db-config.json | 3 +- .../destinations/yahoo_dsp/db-config.json | 2 +- .../destinations/zapier/db-config.json | 3 +- .../destinations/zendesk/db-config.json | 3 +- .../sources/shopify/db-config.json | 2 +- src/validator/index.ts | 1 + 149 files changed, 396 insertions(+), 178 deletions(-) diff --git a/src/configurations/destinations/active_campaign/db-config.json b/src/configurations/destinations/active_campaign/db-config.json index 4bfa3fbbb..21d932cc1 100644 --- a/src/configurations/destinations/active_campaign/db-config.json +++ b/src/configurations/destinations/active_campaign/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/adj/db-config.json b/src/configurations/destinations/adj/db-config.json index 9f7bc74ff..495ca2f2a 100644 --- a/src/configurations/destinations/adj/db-config.json +++ b/src/configurations/destinations/adj/db-config.json @@ -23,9 +23,12 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" + ], + "supportedMessageTypes": [ + "track" ], - "supportedMessageTypes": ["track"], "destConfig": { "defaultConfig": [ "appToken", @@ -38,11 +41,19 @@ "partnerParamsKeys", "oneTrustCookieCategories" ], - "android": ["useNativeSDK"], - "ios": ["useNativeSDK"], - "flutter": ["useNativeSDK"], - "unity": ["useNativeSDK"] + "android": [ + "useNativeSDK" + ], + "ios": [ + "useNativeSDK" + ], + "flutter": [ + "useNativeSDK" + ], + "unity": [ + "useNativeSDK" + ] }, "secretKeys": [] } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/adobe_analytics/db-config.json b/src/configurations/destinations/adobe_analytics/db-config.json index 2fc58cad5..9036eb97d 100644 --- a/src/configurations/destinations/adobe_analytics/db-config.json +++ b/src/configurations/destinations/adobe_analytics/db-config.json @@ -51,7 +51,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedConnectionModes": { "web": ["cloud", "device"], diff --git a/src/configurations/destinations/af/db-config.json b/src/configurations/destinations/af/db-config.json index fc480f30e..52e34cdc3 100644 --- a/src/configurations/destinations/af/db-config.json +++ b/src/configurations/destinations/af/db-config.json @@ -25,7 +25,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["track", "screen", "page"], "destConfig": { diff --git a/src/configurations/destinations/airship/db-config.json b/src/configurations/destinations/airship/db-config.json index e7a8a3fa6..1b0f9478e 100644 --- a/src/configurations/destinations/airship/db-config.json +++ b/src/configurations/destinations/airship/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group"], "destConfig": { diff --git a/src/configurations/destinations/algolia/db-config.json b/src/configurations/destinations/algolia/db-config.json index 264b9ac42..22e536292 100644 --- a/src/configurations/destinations/algolia/db-config.json +++ b/src/configurations/destinations/algolia/db-config.json @@ -18,7 +18,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/am/db-config.json b/src/configurations/destinations/am/db-config.json index 405b9995e..6b538aee0 100644 --- a/src/configurations/destinations/am/db-config.json +++ b/src/configurations/destinations/am/db-config.json @@ -56,7 +56,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], "supportedConnectionModes": { diff --git a/src/configurations/destinations/appcues/db-config.json b/src/configurations/destinations/appcues/db-config.json index 415c3a200..097d29aa0 100644 --- a/src/configurations/destinations/appcues/db-config.json +++ b/src/configurations/destinations/appcues/db-config.json @@ -23,7 +23,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/attentive_tag/db-config.json b/src/configurations/destinations/attentive_tag/db-config.json index b847e2622..edc155a74 100644 --- a/src/configurations/destinations/attentive_tag/db-config.json +++ b/src/configurations/destinations/attentive_tag/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "signUpSourceId", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/attribution/db-config.json b/src/configurations/destinations/attribution/db-config.json index 588587b0a..99140a613 100644 --- a/src/configurations/destinations/attribution/db-config.json +++ b/src/configurations/destinations/attribution/db-config.json @@ -17,7 +17,8 @@ "reactnative", "warehouse", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], "destConfig": { "defaultConfig": ["writeKey", "oneTrustCookieCategories"], "web": [] }, diff --git a/src/configurations/destinations/autopilot/db-config.json b/src/configurations/destinations/autopilot/db-config.json index beb370560..670398955 100644 --- a/src/configurations/destinations/autopilot/db-config.json +++ b/src/configurations/destinations/autopilot/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "triggerId", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/awin/db-config.json b/src/configurations/destinations/awin/db-config.json index 899261ee5..20c9a779a 100644 --- a/src/configurations/destinations/awin/db-config.json +++ b/src/configurations/destinations/awin/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/azure_blob/db-config.json b/src/configurations/destinations/azure_blob/db-config.json index 09e2322f2..3c6e4cb01 100644 --- a/src/configurations/destinations/azure_blob/db-config.json +++ b/src/configurations/destinations/azure_blob/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/azure_datalake/db-config.json b/src/configurations/destinations/azure_datalake/db-config.json index 6d0142d41..dea2f9e75 100644 --- a/src/configurations/destinations/azure_datalake/db-config.json +++ b/src/configurations/destinations/azure_datalake/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/azure_event_hub/db-config.json b/src/configurations/destinations/azure_event_hub/db-config.json index 33fe2caad..12a366469 100644 --- a/src/configurations/destinations/azure_event_hub/db-config.json +++ b/src/configurations/destinations/azure_event_hub/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/azure_synapse/db-config.json b/src/configurations/destinations/azure_synapse/db-config.json index e3549b9a8..722a78e4a 100644 --- a/src/configurations/destinations/azure_synapse/db-config.json +++ b/src/configurations/destinations/azure_synapse/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/bingads_audience/db-config.json b/src/configurations/destinations/bingads_audience/db-config.json index 439883b76..87857beda 100644 --- a/src/configurations/destinations/bingads_audience/db-config.json +++ b/src/configurations/destinations/bingads_audience/db-config.json @@ -12,7 +12,7 @@ "saveDestinationResponse": true, "includeKeys": ["oneTrustCookieCategories"], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], + "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "supportedMessageTypes": ["audiencelist"], "syncBehaviours": [ "mirror" diff --git a/src/configurations/destinations/blueshift/db-config.json b/src/configurations/destinations/blueshift/db-config.json index 2e6e6ee7a..67b193108 100644 --- a/src/configurations/destinations/blueshift/db-config.json +++ b/src/configurations/destinations/blueshift/db-config.json @@ -5,13 +5,32 @@ "transformAt": "router", "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories"], + "includeKeys": [ + "oneTrustCookieCategories" + ], "excludeKeys": [], - "supportedSourceTypes": ["web", "cloud", "mobile"], - "supportedMessageTypes": ["identify", "track", "group"], + "supportedSourceTypes": [ + "web", + "cloud", + "mobile", + "shopify" + ], + "supportedMessageTypes": [ + "identify", + "track", + "group" + ], "destConfig": { - "defaultConfig": ["eventApiKey", "usersApiKey", "dataCenter", "oneTrustCookieCategories"] + "defaultConfig": [ + "eventApiKey", + "usersApiKey", + "dataCenter", + "oneTrustCookieCategories" + ] }, - "secretKeys": ["eventApiKey", "usersApiKey"] + "secretKeys": [ + "eventApiKey", + "usersApiKey" + ] } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/bq/db-config.json b/src/configurations/destinations/bq/db-config.json index ac403c432..9ff46f92f 100644 --- a/src/configurations/destinations/bq/db-config.json +++ b/src/configurations/destinations/bq/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/bqstream/db-config.json b/src/configurations/destinations/bqstream/db-config.json index 3b7f77ade..2966cc774 100644 --- a/src/configurations/destinations/bqstream/db-config.json +++ b/src/configurations/destinations/bqstream/db-config.json @@ -18,7 +18,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/branch/db-config.json b/src/configurations/destinations/branch/db-config.json index 50e3b4964..5370deaf3 100644 --- a/src/configurations/destinations/branch/db-config.json +++ b/src/configurations/destinations/branch/db-config.json @@ -23,7 +23,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/braze/db-config.json b/src/configurations/destinations/braze/db-config.json index 4037c1d56..4037af6dd 100644 --- a/src/configurations/destinations/braze/db-config.json +++ b/src/configurations/destinations/braze/db-config.json @@ -32,7 +32,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedConnectionModes": { "android": ["cloud", "device", "hybrid"], diff --git a/src/configurations/destinations/campaign_manager/db-config.json b/src/configurations/destinations/campaign_manager/db-config.json index e87dd9342..73284608a 100644 --- a/src/configurations/destinations/campaign_manager/db-config.json +++ b/src/configurations/destinations/campaign_manager/db-config.json @@ -22,7 +22,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/candu/db-config.json b/src/configurations/destinations/candu/db-config.json index cbc80c397..7f8044898 100644 --- a/src/configurations/destinations/candu/db-config.json +++ b/src/configurations/destinations/candu/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/canny/db-config.json b/src/configurations/destinations/canny/db-config.json index f58b0f0cc..2e1df93f1 100644 --- a/src/configurations/destinations/canny/db-config.json +++ b/src/configurations/destinations/canny/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "eventsToEvents", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/clevertap/db-config.json b/src/configurations/destinations/clevertap/db-config.json index b0c0f4825..baf9768d4 100644 --- a/src/configurations/destinations/clevertap/db-config.json +++ b/src/configurations/destinations/clevertap/db-config.json @@ -28,7 +28,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track", "alias"], "destConfig": { diff --git a/src/configurations/destinations/clickhouse/db-config.json b/src/configurations/destinations/clickhouse/db-config.json index 95b87a18b..42f4c2a0f 100644 --- a/src/configurations/destinations/clickhouse/db-config.json +++ b/src/configurations/destinations/clickhouse/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/clickup/db-config.json b/src/configurations/destinations/clickup/db-config.json index 873397302..45c8058bb 100644 --- a/src/configurations/destinations/clickup/db-config.json +++ b/src/configurations/destinations/clickup/db-config.json @@ -23,7 +23,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/confluent_cloud/db-config.json b/src/configurations/destinations/confluent_cloud/db-config.json index c0690994f..0ab538c13 100644 --- a/src/configurations/destinations/confluent_cloud/db-config.json +++ b/src/configurations/destinations/confluent_cloud/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/courier/db-config.json b/src/configurations/destinations/courier/db-config.json index cf8a99f04..c682a3e7c 100644 --- a/src/configurations/destinations/courier/db-config.json +++ b/src/configurations/destinations/courier/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/criteo_audience/db-config.json b/src/configurations/destinations/criteo_audience/db-config.json index 701ba0fa2..84a26b6ad 100644 --- a/src/configurations/destinations/criteo_audience/db-config.json +++ b/src/configurations/destinations/criteo_audience/db-config.json @@ -14,7 +14,7 @@ "saveDestinationResponse": true, "includeKeys": ["oneTrustCookieCategories"], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], + "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "syncBehaviours": ["mirror"], "supportedMessageTypes": ["audiencelist"], "destConfig": { diff --git a/src/configurations/destinations/custify/db-config.json b/src/configurations/destinations/custify/db-config.json index 39e1c2a5f..ad0078abc 100644 --- a/src/configurations/destinations/custify/db-config.json +++ b/src/configurations/destinations/custify/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "group", "track"], "destConfig": { "defaultConfig": ["apiKey", "sendAnonymousId", "oneTrustCookieCategories"] } diff --git a/src/configurations/destinations/customerio/db-config.json b/src/configurations/destinations/customerio/db-config.json index 1ecd2f41b..b1ae5e6bf 100644 --- a/src/configurations/destinations/customerio/db-config.json +++ b/src/configurations/destinations/customerio/db-config.json @@ -28,7 +28,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track", "alias", "group"], "destConfig": { diff --git a/src/configurations/destinations/dcm_floodlight/db-config.json b/src/configurations/destinations/dcm_floodlight/db-config.json index 82bd84d0f..f7bea50cf 100644 --- a/src/configurations/destinations/dcm_floodlight/db-config.json +++ b/src/configurations/destinations/dcm_floodlight/db-config.json @@ -33,7 +33,7 @@ "flutter", "cordova", "warehouse", - "web" + "shopify" ], "supportedMessageTypes": ["track", "page"], "destConfig": { diff --git a/src/configurations/destinations/delighted/db-config.json b/src/configurations/destinations/delighted/db-config.json index bbc6f79ec..47a283276 100644 --- a/src/configurations/destinations/delighted/db-config.json +++ b/src/configurations/destinations/delighted/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["alias", "identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/deltalake/db-config.json b/src/configurations/destinations/deltalake/db-config.json index 81f4de94b..64d8f8780 100644 --- a/src/configurations/destinations/deltalake/db-config.json +++ b/src/configurations/destinations/deltalake/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/digital_ocean_spaces/db-config.json b/src/configurations/destinations/digital_ocean_spaces/db-config.json index 69627ed03..b397b05d4 100644 --- a/src/configurations/destinations/digital_ocean_spaces/db-config.json +++ b/src/configurations/destinations/digital_ocean_spaces/db-config.json @@ -17,7 +17,8 @@ "cordova", "warehouse", "reactnative", - "flutter" + "flutter", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/discord/db-config.json b/src/configurations/destinations/discord/db-config.json index 67137c004..9d70586fd 100644 --- a/src/configurations/destinations/discord/db-config.json +++ b/src/configurations/destinations/discord/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/drip/db-config.json b/src/configurations/destinations/drip/db-config.json index ba68418d9..125e996f2 100644 --- a/src/configurations/destinations/drip/db-config.json +++ b/src/configurations/destinations/drip/db-config.json @@ -24,7 +24,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/dynamic_yield/db-config.json b/src/configurations/destinations/dynamic_yield/db-config.json index 4111453bb..e10f7a04a 100644 --- a/src/configurations/destinations/dynamic_yield/db-config.json +++ b/src/configurations/destinations/dynamic_yield/db-config.json @@ -18,7 +18,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedConnectionModes": [], "supportedMessageTypes": ["identify", "track"], diff --git a/src/configurations/destinations/engage/db-config.json b/src/configurations/destinations/engage/db-config.json index 562a45109..c70a028b8 100644 --- a/src/configurations/destinations/engage/db-config.json +++ b/src/configurations/destinations/engage/db-config.json @@ -25,7 +25,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "page", "group"], "destConfig": { diff --git a/src/configurations/destinations/eventbridge/db-config.json b/src/configurations/destinations/eventbridge/db-config.json index 0e7034fa8..35d83325e 100644 --- a/src/configurations/destinations/eventbridge/db-config.json +++ b/src/configurations/destinations/eventbridge/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/facebook_offline_conversions/db-config.json b/src/configurations/destinations/facebook_offline_conversions/db-config.json index fcf8cbe49..39654f6f8 100644 --- a/src/configurations/destinations/facebook_offline_conversions/db-config.json +++ b/src/configurations/destinations/facebook_offline_conversions/db-config.json @@ -24,7 +24,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/facebook_pixel/db-config.json b/src/configurations/destinations/facebook_pixel/db-config.json index eab01939c..459ab86e5 100644 --- a/src/configurations/destinations/facebook_pixel/db-config.json +++ b/src/configurations/destinations/facebook_pixel/db-config.json @@ -33,7 +33,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/factorsai/db-config.json b/src/configurations/destinations/factorsai/db-config.json index 71938718f..2f2e1bd36 100644 --- a/src/configurations/destinations/factorsai/db-config.json +++ b/src/configurations/destinations/factorsai/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group", "page"], "destConfig": { "defaultConfig": ["factorsAIApiKey", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/fb/db-config.json b/src/configurations/destinations/fb/db-config.json index a5a5bacac..970e3beb4 100644 --- a/src/configurations/destinations/fb/db-config.json +++ b/src/configurations/destinations/fb/db-config.json @@ -25,7 +25,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/fb_custom_audience/db-config.json b/src/configurations/destinations/fb_custom_audience/db-config.json index d85744128..c3d3e13d6 100644 --- a/src/configurations/destinations/fb_custom_audience/db-config.json +++ b/src/configurations/destinations/fb_custom_audience/db-config.json @@ -11,7 +11,7 @@ "saveDestinationResponse": true, "includeKeys": ["oneTrustCookieCategories"], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], + "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "supportedMessageTypes": ["audiencelist"], "isAudienceSupported": true, "destConfig": { diff --git a/src/configurations/destinations/firehose/db-config.json b/src/configurations/destinations/firehose/db-config.json index 80904ed9c..61f1d1fa6 100644 --- a/src/configurations/destinations/firehose/db-config.json +++ b/src/configurations/destinations/firehose/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/freshmarketer/db-config.json b/src/configurations/destinations/freshmarketer/db-config.json index afd43aafb..2a7d26d2b 100644 --- a/src/configurations/destinations/freshmarketer/db-config.json +++ b/src/configurations/destinations/freshmarketer/db-config.json @@ -17,7 +17,8 @@ "reactnative", "unity", "warehouse", - "web" + "web", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group"], "destConfig": { diff --git a/src/configurations/destinations/freshsales/db-config.json b/src/configurations/destinations/freshsales/db-config.json index 8f6e4838a..9bdd75e0d 100644 --- a/src/configurations/destinations/freshsales/db-config.json +++ b/src/configurations/destinations/freshsales/db-config.json @@ -17,7 +17,8 @@ "reactnative", "unity", "warehouse", - "web" + "web", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group"], "destConfig": { diff --git a/src/configurations/destinations/ga/db-config.json b/src/configurations/destinations/ga/db-config.json index b2cd06ead..55821422e 100644 --- a/src/configurations/destinations/ga/db-config.json +++ b/src/configurations/destinations/ga/db-config.json @@ -53,7 +53,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/ga360/db-config.json b/src/configurations/destinations/ga360/db-config.json index 09891e66e..c493940de 100644 --- a/src/configurations/destinations/ga360/db-config.json +++ b/src/configurations/destinations/ga360/db-config.json @@ -44,7 +44,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/ga4/db-config.json b/src/configurations/destinations/ga4/db-config.json index 0ae6f28e7..361bac662 100644 --- a/src/configurations/destinations/ga4/db-config.json +++ b/src/configurations/destinations/ga4/db-config.json @@ -29,17 +29,35 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" + ], + "supportedMessageTypes": [ + "track", + "group", + "page" ], - "supportedMessageTypes": ["track", "group", "page"], "supportedConnectionModes": { - "android": ["cloud", "device"], - "web": ["cloud", "device", "hybrid"], - "ios": ["cloud", "device"] + "android": [ + "cloud", + "device" + ], + "web": [ + "cloud", + "device", + "hybrid" + ], + "ios": [ + "cloud", + "device" + ] }, "hybridModeCloudEventsFilter": { "web": { - "messageType": ["track", "group"] + "messageType": [ + "track", + "group" + ] } }, "destConfig": { @@ -63,12 +81,28 @@ "extendPageViewParams", "overrideClientAndSessionId" ], - "android": ["useNativeSDK", "connectionMode"], - "ios": ["useNativeSDK", "connectionMode"] + "android": [ + "useNativeSDK", + "connectionMode" + ], + "shopify": [ + "useNativeSDK", + "connectionMode", + "capturePageView", + "useNativeSDKToSend", + "extendPageViewParams", + "overrideClientAndSessionId" + ], + "ios": [ + "useNativeSDK", + "connectionMode" + ] }, - "secretKeys": ["apiSecret"] + "secretKeys": [ + "apiSecret" + ] }, "options": { "isBeta": true } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/gainsight/db-config.json b/src/configurations/destinations/gainsight/db-config.json index 824030e6d..d68e035ab 100644 --- a/src/configurations/destinations/gainsight/db-config.json +++ b/src/configurations/destinations/gainsight/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["group", "identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/gainsight_px/db-config.json b/src/configurations/destinations/gainsight_px/db-config.json index 53827f04c..53170e361 100644 --- a/src/configurations/destinations/gainsight_px/db-config.json +++ b/src/configurations/destinations/gainsight_px/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["group", "identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/gcs/db-config.json b/src/configurations/destinations/gcs/db-config.json index cd95ff3ee..9a9dd0408 100644 --- a/src/configurations/destinations/gcs/db-config.json +++ b/src/configurations/destinations/gcs/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "destConfig": { "defaultConfig": ["bucketName", "prefix", "credentials", "oneTrustCookieCategories"] diff --git a/src/configurations/destinations/gcs_datalake/db-config.json b/src/configurations/destinations/gcs_datalake/db-config.json index 7d7e40014..11d12b56b 100644 --- a/src/configurations/destinations/gcs_datalake/db-config.json +++ b/src/configurations/destinations/gcs_datalake/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json b/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json index 7d54f3c67..fb375be78 100644 --- a/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json @@ -24,7 +24,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/google_adwords_offline_conversions/db-config.json b/src/configurations/destinations/google_adwords_offline_conversions/db-config.json index 37db03562..29227645f 100644 --- a/src/configurations/destinations/google_adwords_offline_conversions/db-config.json +++ b/src/configurations/destinations/google_adwords_offline_conversions/db-config.json @@ -25,7 +25,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": [ "track" 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 1c846387c..b3757c84d 100644 --- a/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json +++ b/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json @@ -13,7 +13,7 @@ "saveDestinationResponse": true, "includeKeys": ["oneTrustCookieCategories"], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], + "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "syncBehaviours": ["mirror"], "disableJsonMapper": true, "supportsVisualMapper": true, diff --git a/src/configurations/destinations/google_cloud_function/db-config.json b/src/configurations/destinations/google_cloud_function/db-config.json index 9f2be459a..e99ddbb76 100644 --- a/src/configurations/destinations/google_cloud_function/db-config.json +++ b/src/configurations/destinations/google_cloud_function/db-config.json @@ -24,7 +24,8 @@ "reactnative", "unity", "warehouse", - "web" + "web", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track", "alias", "group"], "destConfig": { diff --git a/src/configurations/destinations/googleads/db-config.json b/src/configurations/destinations/googleads/db-config.json index 2b82312bd..a1932f94b 100644 --- a/src/configurations/destinations/googleads/db-config.json +++ b/src/configurations/destinations/googleads/db-config.json @@ -29,9 +29,7 @@ "enableConversionLabel" ], "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], + "supportedSourceTypes": ["web"], "destConfig": { "defaultConfig": [ "conversionID", diff --git a/src/configurations/destinations/googlepubsub/db-config.json b/src/configurations/destinations/googlepubsub/db-config.json index 7b9d3d434..c195ac82f 100644 --- a/src/configurations/destinations/googlepubsub/db-config.json +++ b/src/configurations/destinations/googlepubsub/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/googlesheets/db-config.json b/src/configurations/destinations/googlesheets/db-config.json index f0c6c2eba..b451996e3 100644 --- a/src/configurations/destinations/googlesheets/db-config.json +++ b/src/configurations/destinations/googlesheets/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/heap/db-config.json b/src/configurations/destinations/heap/db-config.json index 89872ffd2..dabed4898 100644 --- a/src/configurations/destinations/heap/db-config.json +++ b/src/configurations/destinations/heap/db-config.json @@ -25,7 +25,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/hs/db-config.json b/src/configurations/destinations/hs/db-config.json index b30a335eb..c80bb58fa 100644 --- a/src/configurations/destinations/hs/db-config.json +++ b/src/configurations/destinations/hs/db-config.json @@ -25,7 +25,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/impact/db-config.json b/src/configurations/destinations/impact/db-config.json index 58fc87fb2..3ddbfe91e 100644 --- a/src/configurations/destinations/impact/db-config.json +++ b/src/configurations/destinations/impact/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "page", "screen"], "destConfig": { diff --git a/src/configurations/destinations/indicative/db-config.json b/src/configurations/destinations/indicative/db-config.json index fa93aece8..c4d966a0a 100644 --- a/src/configurations/destinations/indicative/db-config.json +++ b/src/configurations/destinations/indicative/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["alias", "identify", "page", "screen", "track"], "destConfig": { "defaultConfig": ["apiKey", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/intercom/db-config.json b/src/configurations/destinations/intercom/db-config.json index 389474f14..8b941737a 100644 --- a/src/configurations/destinations/intercom/db-config.json +++ b/src/configurations/destinations/intercom/db-config.json @@ -28,7 +28,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group"], "destConfig": { diff --git a/src/configurations/destinations/iterable/db-config.json b/src/configurations/destinations/iterable/db-config.json index 0c040ce67..e5695149d 100644 --- a/src/configurations/destinations/iterable/db-config.json +++ b/src/configurations/destinations/iterable/db-config.json @@ -44,7 +44,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track", "alias"], "destConfig": { diff --git a/src/configurations/destinations/june/db-config.json b/src/configurations/destinations/june/db-config.json index 7921ad453..2b651508d 100644 --- a/src/configurations/destinations/june/db-config.json +++ b/src/configurations/destinations/june/db-config.json @@ -23,7 +23,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["page", "identify", "track", "group"], "destConfig": { diff --git a/src/configurations/destinations/kafka/db-config.json b/src/configurations/destinations/kafka/db-config.json index abd959291..ce4b1206a 100644 --- a/src/configurations/destinations/kafka/db-config.json +++ b/src/configurations/destinations/kafka/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/keen/db-config.json b/src/configurations/destinations/keen/db-config.json index 31c1cdcb5..4fd80710f 100644 --- a/src/configurations/destinations/keen/db-config.json +++ b/src/configurations/destinations/keen/db-config.json @@ -28,7 +28,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["page", "track"], "destConfig": { diff --git a/src/configurations/destinations/kinesis/db-config.json b/src/configurations/destinations/kinesis/db-config.json index 2726c91d9..60ee000a7 100644 --- a/src/configurations/destinations/kinesis/db-config.json +++ b/src/configurations/destinations/kinesis/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/kissmetrics/db-config.json b/src/configurations/destinations/kissmetrics/db-config.json index 05073e60a..6b86f83a8 100644 --- a/src/configurations/destinations/kissmetrics/db-config.json +++ b/src/configurations/destinations/kissmetrics/db-config.json @@ -24,7 +24,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["alias", "identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/klaviyo/db-config.json b/src/configurations/destinations/klaviyo/db-config.json index dd57ab037..96befb673 100644 --- a/src/configurations/destinations/klaviyo/db-config.json +++ b/src/configurations/destinations/klaviyo/db-config.json @@ -28,7 +28,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedConnectionModes": { "web": ["cloud", "device"] diff --git a/src/configurations/destinations/kochava/db-config.json b/src/configurations/destinations/kochava/db-config.json index fe000efb5..6e6c590c2 100644 --- a/src/configurations/destinations/kochava/db-config.json +++ b/src/configurations/destinations/kochava/db-config.json @@ -26,7 +26,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/kustomer/db-config.json b/src/configurations/destinations/kustomer/db-config.json index aa9e8c1b0..b623deb98 100644 --- a/src/configurations/destinations/kustomer/db-config.json +++ b/src/configurations/destinations/kustomer/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/lambda/db-config.json b/src/configurations/destinations/lambda/db-config.json index 448ad7ba7..53ffdf2ee 100644 --- a/src/configurations/destinations/lambda/db-config.json +++ b/src/configurations/destinations/lambda/db-config.json @@ -17,7 +17,8 @@ "reactnative", "unity", "warehouse", - "web" + "web", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track", "alias", "group"], "destConfig": { diff --git a/src/configurations/destinations/leanplum/db-config.json b/src/configurations/destinations/leanplum/db-config.json index 867cd4322..33800c6cf 100644 --- a/src/configurations/destinations/leanplum/db-config.json +++ b/src/configurations/destinations/leanplum/db-config.json @@ -27,7 +27,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedConnectionModes": { "android": ["cloud", "device", "hybrid"], diff --git a/src/configurations/destinations/lemnisk/db-config.json b/src/configurations/destinations/lemnisk/db-config.json index 55af55d56..bd28589f8 100644 --- a/src/configurations/destinations/lemnisk/db-config.json +++ b/src/configurations/destinations/lemnisk/db-config.json @@ -32,7 +32,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track", "identify", "page"], "destConfig": { diff --git a/src/configurations/destinations/lytics/db-config.json b/src/configurations/destinations/lytics/db-config.json index 35b6342bb..418b21bb4 100644 --- a/src/configurations/destinations/lytics/db-config.json +++ b/src/configurations/destinations/lytics/db-config.json @@ -28,7 +28,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/mailchimp/db-config.json b/src/configurations/destinations/mailchimp/db-config.json index 4424196b3..83fe29cb2 100644 --- a/src/configurations/destinations/mailchimp/db-config.json +++ b/src/configurations/destinations/mailchimp/db-config.json @@ -19,7 +19,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/mailjet/db-config.json b/src/configurations/destinations/mailjet/db-config.json index 2b6db30d0..158fcfbbc 100644 --- a/src/configurations/destinations/mailjet/db-config.json +++ b/src/configurations/destinations/mailjet/db-config.json @@ -23,7 +23,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify"], "destConfig": { diff --git a/src/configurations/destinations/mailmodo/db-config.json b/src/configurations/destinations/mailmodo/db-config.json index 491599ac1..d4d5aa700 100644 --- a/src/configurations/destinations/mailmodo/db-config.json +++ b/src/configurations/destinations/mailmodo/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "listName", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/marketo/db-config.json b/src/configurations/destinations/marketo/db-config.json index b9852bf36..2f41a3333 100644 --- a/src/configurations/destinations/marketo/db-config.json +++ b/src/configurations/destinations/marketo/db-config.json @@ -19,7 +19,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/marketo_bulk_upload/db-config.json b/src/configurations/destinations/marketo_bulk_upload/db-config.json index 8ed47e687..62b0918bb 100644 --- a/src/configurations/destinations/marketo_bulk_upload/db-config.json +++ b/src/configurations/destinations/marketo_bulk_upload/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/marketo_static_list/db-config.json b/src/configurations/destinations/marketo_static_list/db-config.json index d2eeebb1f..cf94d3922 100644 --- a/src/configurations/destinations/marketo_static_list/db-config.json +++ b/src/configurations/destinations/marketo_static_list/db-config.json @@ -13,7 +13,7 @@ "oneTrustCookieCategories" ], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], + "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "supportedMessageTypes": ["audiencelist"], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/mautic/db-config.json b/src/configurations/destinations/mautic/db-config.json index c50f7de24..8e09180f8 100644 --- a/src/configurations/destinations/mautic/db-config.json +++ b/src/configurations/destinations/mautic/db-config.json @@ -25,7 +25,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "group"], "destConfig": { diff --git a/src/configurations/destinations/minio/db-config.json b/src/configurations/destinations/minio/db-config.json index e91ce43ab..d57f9da1d 100644 --- a/src/configurations/destinations/minio/db-config.json +++ b/src/configurations/destinations/minio/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/moengage/db-config.json b/src/configurations/destinations/moengage/db-config.json index 22826183f..07833d6d0 100644 --- a/src/configurations/destinations/moengage/db-config.json +++ b/src/configurations/destinations/moengage/db-config.json @@ -25,7 +25,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "alias"], "destConfig": { diff --git a/src/configurations/destinations/monday/db-config.json b/src/configurations/destinations/monday/db-config.json index 8e7e23ea2..13a32e53f 100644 --- a/src/configurations/destinations/monday/db-config.json +++ b/src/configurations/destinations/monday/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/monetate/db-config.json b/src/configurations/destinations/monetate/db-config.json index 99427046d..70302ad77 100644 --- a/src/configurations/destinations/monetate/db-config.json +++ b/src/configurations/destinations/monetate/db-config.json @@ -15,7 +15,8 @@ "unity", "amp", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/mp/db-config.json b/src/configurations/destinations/mp/db-config.json index d7e3fe30e..e2f4d340a 100644 --- a/src/configurations/destinations/mp/db-config.json +++ b/src/configurations/destinations/mp/db-config.json @@ -41,7 +41,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/mssql/db-config.json b/src/configurations/destinations/mssql/db-config.json index f078e4307..a6659523a 100644 --- a/src/configurations/destinations/mssql/db-config.json +++ b/src/configurations/destinations/mssql/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/new_relic/db-config.json b/src/configurations/destinations/new_relic/db-config.json index af9cd9412..4b6de0770 100644 --- a/src/configurations/destinations/new_relic/db-config.json +++ b/src/configurations/destinations/new_relic/db-config.json @@ -26,7 +26,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/ometria/db-config.json b/src/configurations/destinations/ometria/db-config.json index 11e4d4986..2018a7199 100644 --- a/src/configurations/destinations/ometria/db-config.json +++ b/src/configurations/destinations/ometria/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/one_signal/db-config.json b/src/configurations/destinations/one_signal/db-config.json index f8113cb88..ca5ac17a3 100644 --- a/src/configurations/destinations/one_signal/db-config.json +++ b/src/configurations/destinations/one_signal/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group"], "destConfig": { diff --git a/src/configurations/destinations/optimizely_fullstack/db-config.json b/src/configurations/destinations/optimizely_fullstack/db-config.json index feded48cb..98bcaa47a 100644 --- a/src/configurations/destinations/optimizely_fullstack/db-config.json +++ b/src/configurations/destinations/optimizely_fullstack/db-config.json @@ -28,7 +28,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedConnectionModes": { "android": ["cloud", "device"], diff --git a/src/configurations/destinations/pagerduty/db-config.json b/src/configurations/destinations/pagerduty/db-config.json index dc626096c..4e4bf4d92 100644 --- a/src/configurations/destinations/pagerduty/db-config.json +++ b/src/configurations/destinations/pagerduty/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/pardot/db-config.json b/src/configurations/destinations/pardot/db-config.json index 912d311c4..679deb6ea 100644 --- a/src/configurations/destinations/pardot/db-config.json +++ b/src/configurations/destinations/pardot/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/persistiq/db-config.json b/src/configurations/destinations/persistiq/db-config.json index cb1536a3b..6efe47833 100644 --- a/src/configurations/destinations/persistiq/db-config.json +++ b/src/configurations/destinations/persistiq/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "group"], "destConfig": { diff --git a/src/configurations/destinations/personalize/db-config.json b/src/configurations/destinations/personalize/db-config.json index a665c25e4..499a5cb87 100644 --- a/src/configurations/destinations/personalize/db-config.json +++ b/src/configurations/destinations/personalize/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/pinterest_tag/db-config.json b/src/configurations/destinations/pinterest_tag/db-config.json index 643052024..495881103 100644 --- a/src/configurations/destinations/pinterest_tag/db-config.json +++ b/src/configurations/destinations/pinterest_tag/db-config.json @@ -32,7 +32,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/pipedream/db-config.json b/src/configurations/destinations/pipedream/db-config.json index ba9fbcaea..ad51f0a96 100644 --- a/src/configurations/destinations/pipedream/db-config.json +++ b/src/configurations/destinations/pipedream/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": ["pipedreamUrl", "pipedreamMethod", "headers", "oneTrustCookieCategories"] diff --git a/src/configurations/destinations/pipedrive/db-config.json b/src/configurations/destinations/pipedrive/db-config.json index 3564ad97f..b4b222198 100644 --- a/src/configurations/destinations/pipedrive/db-config.json +++ b/src/configurations/destinations/pipedrive/db-config.json @@ -16,7 +16,8 @@ "cloud", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/postgres/db-config.json b/src/configurations/destinations/postgres/db-config.json index b04259ddd..f7fb1aac9 100644 --- a/src/configurations/destinations/postgres/db-config.json +++ b/src/configurations/destinations/postgres/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/posthog/db-config.json b/src/configurations/destinations/posthog/db-config.json index 0163975da..e5bcae8db 100644 --- a/src/configurations/destinations/posthog/db-config.json +++ b/src/configurations/destinations/posthog/db-config.json @@ -31,7 +31,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/profitwell/db-config.json b/src/configurations/destinations/profitwell/db-config.json index b58f84dde..8efa59063 100644 --- a/src/configurations/destinations/profitwell/db-config.json +++ b/src/configurations/destinations/profitwell/db-config.json @@ -24,7 +24,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify"], "destConfig": { diff --git a/src/configurations/destinations/redis/db-config.json b/src/configurations/destinations/redis/db-config.json index 6b181a5a2..a2eba22ec 100644 --- a/src/configurations/destinations/redis/db-config.json +++ b/src/configurations/destinations/redis/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify"], "destConfig": { diff --git a/src/configurations/destinations/refiner/db-config.json b/src/configurations/destinations/refiner/db-config.json index c05177b4a..6c5010969 100644 --- a/src/configurations/destinations/refiner/db-config.json +++ b/src/configurations/destinations/refiner/db-config.json @@ -27,7 +27,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group", "page"], "destConfig": { diff --git a/src/configurations/destinations/revenue_cat/db-config.json b/src/configurations/destinations/revenue_cat/db-config.json index 70d8b2c61..4bfad825e 100644 --- a/src/configurations/destinations/revenue_cat/db-config.json +++ b/src/configurations/destinations/revenue_cat/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "xPlatform", "oneTrustCookieCategories"] } diff --git a/src/configurations/destinations/rockerbox/db-config.json b/src/configurations/destinations/rockerbox/db-config.json index 4093aaa22..e4766d04f 100644 --- a/src/configurations/destinations/rockerbox/db-config.json +++ b/src/configurations/destinations/rockerbox/db-config.json @@ -29,11 +29,13 @@ "reactnative", "unity", "warehouse", - "web" + "web", + "shopify" ], "supportedMessageTypes": ["identify", "track", "page"], "supportedConnectionModes": { - "web": ["cloud", "device", "hybrid"] + "web": ["cloud", "device", "hybrid"], + "shopify": ["cloud"] }, "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/rs/db-config.json b/src/configurations/destinations/rs/db-config.json index c16933063..6311ac510 100644 --- a/src/configurations/destinations/rs/db-config.json +++ b/src/configurations/destinations/rs/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/s3/db-config.json b/src/configurations/destinations/s3/db-config.json index 5f3ed5399..743a05a8c 100644 --- a/src/configurations/destinations/s3/db-config.json +++ b/src/configurations/destinations/s3/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/s3_datalake/db-config.json b/src/configurations/destinations/s3_datalake/db-config.json index a60b199ac..f8027b403 100644 --- a/src/configurations/destinations/s3_datalake/db-config.json +++ b/src/configurations/destinations/s3_datalake/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/salesforce/db-config.json b/src/configurations/destinations/salesforce/db-config.json index 7a9a7e12a..48a024d3e 100644 --- a/src/configurations/destinations/salesforce/db-config.json +++ b/src/configurations/destinations/salesforce/db-config.json @@ -19,7 +19,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify"], "destConfig": { diff --git a/src/configurations/destinations/segment/db-config.json b/src/configurations/destinations/segment/db-config.json index a3c1f375e..4f681fe04 100644 --- a/src/configurations/destinations/segment/db-config.json +++ b/src/configurations/destinations/segment/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": ["writeKey", "oneTrustCookieCategories"] }, "secretKeys": [] diff --git a/src/configurations/destinations/sendgrid/db-config.json b/src/configurations/destinations/sendgrid/db-config.json index f3ab91637..55b74cc35 100644 --- a/src/configurations/destinations/sendgrid/db-config.json +++ b/src/configurations/destinations/sendgrid/db-config.json @@ -18,7 +18,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track", "identify"], "destConfig": { diff --git a/src/configurations/destinations/sendinblue/db-config.json b/src/configurations/destinations/sendinblue/db-config.json index 2bc41d7fe..5ea56dec5 100644 --- a/src/configurations/destinations/sendinblue/db-config.json +++ b/src/configurations/destinations/sendinblue/db-config.json @@ -29,7 +29,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track", "identify", "page"], "destConfig": { diff --git a/src/configurations/destinations/serenytics/db-config.json b/src/configurations/destinations/serenytics/db-config.json index 614358c52..19421bc7a 100644 --- a/src/configurations/destinations/serenytics/db-config.json +++ b/src/configurations/destinations/serenytics/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group", "page", "screen", "alias"], "destConfig": { diff --git a/src/configurations/destinations/sfmc/db-config.json b/src/configurations/destinations/sfmc/db-config.json index 848e6d0ca..32d81a54a 100644 --- a/src/configurations/destinations/sfmc/db-config.json +++ b/src/configurations/destinations/sfmc/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/shynet/db-config.json b/src/configurations/destinations/shynet/db-config.json index cf9c0f125..a9d6adf6f 100644 --- a/src/configurations/destinations/shynet/db-config.json +++ b/src/configurations/destinations/shynet/db-config.json @@ -24,7 +24,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["page"], "destConfig": { diff --git a/src/configurations/destinations/signl4/db-config.json b/src/configurations/destinations/signl4/db-config.json index 80cffb257..60ad5b319 100644 --- a/src/configurations/destinations/signl4/db-config.json +++ b/src/configurations/destinations/signl4/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/singular/db-config.json b/src/configurations/destinations/singular/db-config.json index 532d524d5..9d6cb2c4e 100644 --- a/src/configurations/destinations/singular/db-config.json +++ b/src/configurations/destinations/singular/db-config.json @@ -24,7 +24,8 @@ "web", "amp", "cloud", - "warehouse" + "warehouse", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/slack/db-config.json b/src/configurations/destinations/slack/db-config.json index 54d6a1d19..317b7585f 100644 --- a/src/configurations/destinations/slack/db-config.json +++ b/src/configurations/destinations/slack/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/snapchat_conversion/db-config.json b/src/configurations/destinations/snapchat_conversion/db-config.json index 488b5c3ea..41a8ce084 100644 --- a/src/configurations/destinations/snapchat_conversion/db-config.json +++ b/src/configurations/destinations/snapchat_conversion/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/snapchat_custom_audience/db-config.json b/src/configurations/destinations/snapchat_custom_audience/db-config.json index 01162d2f1..59f58beb1 100644 --- a/src/configurations/destinations/snapchat_custom_audience/db-config.json +++ b/src/configurations/destinations/snapchat_custom_audience/db-config.json @@ -2,14 +2,31 @@ "name": "SNAPCHAT_CUSTOM_AUDIENCE", "displayName": "Snapchat Custom Audience", "config": { - "auth": { "type": "OAuth", "role": "snapchat_custom_audience", "rudderScopes": ["delivery"] }, + "auth": { + "type": "OAuth", + "role": "snapchat_custom_audience", + "rudderScopes": [ + "delivery" + ] + }, "transformAt": "router", "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["segmentId", "schema", "disableHashing", "oneTrustCookieCategories"], + "includeKeys": [ + "segmentId", + "schema", + "disableHashing", + "oneTrustCookieCategories" + ], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], - "supportedMessageTypes": ["audiencelist"], + "supportedSourceTypes": [ + "cloud", + "warehouse", + "shopify" + ], + "supportedMessageTypes": [ + "audiencelist" + ], "destConfig": { "defaultConfig": [ "rudderAccountId", @@ -19,6 +36,8 @@ "oneTrustCookieCategories" ] }, - "secretKeys": ["segmentId"] + "secretKeys": [ + "segmentId" + ] } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/snowflake/db-config.json b/src/configurations/destinations/snowflake/db-config.json index 80cec74c4..cc5400f88 100644 --- a/src/configurations/destinations/snowflake/db-config.json +++ b/src/configurations/destinations/snowflake/db-config.json @@ -18,7 +18,8 @@ "reactnative", "cloudSource", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/splitio/db-config.json b/src/configurations/destinations/splitio/db-config.json index 06699f7a5..7efffcc00 100644 --- a/src/configurations/destinations/splitio/db-config.json +++ b/src/configurations/destinations/splitio/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["group", "identify", "page", "screen", "track"], "destConfig": { diff --git a/src/configurations/destinations/statsig/db-config.json b/src/configurations/destinations/statsig/db-config.json index 3c1d021bf..623110ea6 100644 --- a/src/configurations/destinations/statsig/db-config.json +++ b/src/configurations/destinations/statsig/db-config.json @@ -18,7 +18,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], "destConfig": { "defaultConfig": ["secretKey", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/stormly/db-config.json b/src/configurations/destinations/stormly/db-config.json index 874067cd4..53acd74cc 100644 --- a/src/configurations/destinations/stormly/db-config.json +++ b/src/configurations/destinations/stormly/db-config.json @@ -17,11 +17,12 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["group", "identify", "track"], "destConfig": { "defaultConfig": ["apiKey", "oneTrustCookieCategories"] }, "secretKeys": ["apiKey"] - }, + }, "options": { "isBeta": true } -} + } diff --git a/src/configurations/destinations/tiktok_ads_offline_events/db-config.json b/src/configurations/destinations/tiktok_ads_offline_events/db-config.json index 1d21c56e8..a53f3ef09 100644 --- a/src/configurations/destinations/tiktok_ads_offline_events/db-config.json +++ b/src/configurations/destinations/tiktok_ads_offline_events/db-config.json @@ -17,7 +17,8 @@ "reactnative", "unity", "warehouse", - "web" + "web", + "shopify" ], "supportedMessageTypes": ["track"], "destConfig": { diff --git a/src/configurations/destinations/trengo/db-config.json b/src/configurations/destinations/trengo/db-config.json index 1c8632374..de2bad555 100644 --- a/src/configurations/destinations/trengo/db-config.json +++ b/src/configurations/destinations/trengo/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/twitter_ads/db-config.json b/src/configurations/destinations/twitter_ads/db-config.json index 668d0ced1..a2c572da7 100644 --- a/src/configurations/destinations/twitter_ads/db-config.json +++ b/src/configurations/destinations/twitter_ads/db-config.json @@ -20,7 +20,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": [ diff --git a/src/configurations/destinations/user/db-config.json b/src/configurations/destinations/user/db-config.json index 135f09ed5..150b0a958 100644 --- a/src/configurations/destinations/user/db-config.json +++ b/src/configurations/destinations/user/db-config.json @@ -27,7 +27,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["track", "identify", "group", "page"], "destConfig": { diff --git a/src/configurations/destinations/userlist/db-config.json b/src/configurations/destinations/userlist/db-config.json index 19901c048..dd4481a77 100644 --- a/src/configurations/destinations/userlist/db-config.json +++ b/src/configurations/destinations/userlist/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["group", "identify", "track"], "destConfig": { "defaultConfig": ["pushKey", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/variance/db-config.json b/src/configurations/destinations/variance/db-config.json index 4b8bc7921..a13e374fd 100644 --- a/src/configurations/destinations/variance/db-config.json +++ b/src/configurations/destinations/variance/db-config.json @@ -18,7 +18,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "destConfig": { "defaultConfig": ["webhookUrl", "authHeader", "oneTrustCookieCategories"] }, "secretKeys": ["authHeader"] diff --git a/src/configurations/destinations/vero/db-config.json b/src/configurations/destinations/vero/db-config.json index ffd7b26f4..7c6029a41 100644 --- a/src/configurations/destinations/vero/db-config.json +++ b/src/configurations/destinations/vero/db-config.json @@ -24,7 +24,8 @@ "reactnative", "unity", "warehouse", - "web" + "web", + "shopify" ], "supportedMessageTypes": ["identify", "track", "page", "screen", "alias"], "destConfig": { diff --git a/src/configurations/destinations/vitally/db-config.json b/src/configurations/destinations/vitally/db-config.json index 912f9df90..590828238 100644 --- a/src/configurations/destinations/vitally/db-config.json +++ b/src/configurations/destinations/vitally/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "group"], "destConfig": { "defaultConfig": ["apiKeyVitally", "oneTrustCookieCategories"] }, diff --git a/src/configurations/destinations/webengage/db-config.json b/src/configurations/destinations/webengage/db-config.json index 7f02a7671..d60021761 100644 --- a/src/configurations/destinations/webengage/db-config.json +++ b/src/configurations/destinations/webengage/db-config.json @@ -18,7 +18,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["identify", "track", "page", "screen"], "destConfig": { diff --git a/src/configurations/destinations/webhook/db-config.json b/src/configurations/destinations/webhook/db-config.json index 764fa2bf5..eb5d5642c 100644 --- a/src/configurations/destinations/webhook/db-config.json +++ b/src/configurations/destinations/webhook/db-config.json @@ -19,7 +19,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "destConfig": { "defaultConfig": ["webhookUrl", "webhookMethod", "headers", "oneTrustCookieCategories"] diff --git a/src/configurations/destinations/woopra/db-config.json b/src/configurations/destinations/woopra/db-config.json index bbda29898..eeb741da8 100644 --- a/src/configurations/destinations/woopra/db-config.json +++ b/src/configurations/destinations/woopra/db-config.json @@ -33,7 +33,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track", "page"], "destConfig": { diff --git a/src/configurations/destinations/wootric/db-config.json b/src/configurations/destinations/wootric/db-config.json index bd9c19e9f..897c875aa 100644 --- a/src/configurations/destinations/wootric/db-config.json +++ b/src/configurations/destinations/wootric/db-config.json @@ -17,7 +17,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["identify", "track"], "destConfig": { diff --git a/src/configurations/destinations/yahoo_dsp/db-config.json b/src/configurations/destinations/yahoo_dsp/db-config.json index 3315935f6..4718fb69b 100644 --- a/src/configurations/destinations/yahoo_dsp/db-config.json +++ b/src/configurations/destinations/yahoo_dsp/db-config.json @@ -7,7 +7,7 @@ "saveDestinationResponse": true, "includeKeys": ["oneTrustCookieCategories"], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], + "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "syncBehaviours": [], "supportedMessageTypes": ["audiencelist"], "destConfig": { diff --git a/src/configurations/destinations/zapier/db-config.json b/src/configurations/destinations/zapier/db-config.json index e71508e5d..d6388fe0b 100644 --- a/src/configurations/destinations/zapier/db-config.json +++ b/src/configurations/destinations/zapier/db-config.json @@ -23,7 +23,8 @@ "reactnative", "flutter", "cordova", - "warehouse" + "warehouse", + "shopify" ], "supportedMessageTypes": ["track", "page", "screen"], "destConfig": { diff --git a/src/configurations/destinations/zendesk/db-config.json b/src/configurations/destinations/zendesk/db-config.json index 5596c55f0..e3955fd2f 100644 --- a/src/configurations/destinations/zendesk/db-config.json +++ b/src/configurations/destinations/zendesk/db-config.json @@ -17,7 +17,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": ["group", "identify", "track"], "destConfig": { diff --git a/src/configurations/sources/shopify/db-config.json b/src/configurations/sources/shopify/db-config.json index e6779d7f4..beceeae75 100644 --- a/src/configurations/sources/shopify/db-config.json +++ b/src/configurations/sources/shopify/db-config.json @@ -6,5 +6,5 @@ "isBeta": false, "hidden": false }, - "type": "cloud" + "type": "shopify" } diff --git a/src/validator/index.ts b/src/validator/index.ts index 884cec790..1f50bd866 100644 --- a/src/validator/index.ts +++ b/src/validator/index.ts @@ -160,6 +160,7 @@ export function validateSourceType(sourceDefinition: any) { 'amp', 'flutter', 'cordova', + 'shopify', ]; return validSourceTypes.includes(sourceDefinition?.type); } From 51b77b79f196854acf3455b83c6a010ccf8aec5a Mon Sep 17 00:00:00 2001 From: Anant Jain <62471433+anantjain45823@users.noreply.github.com> Date: Fri, 4 Aug 2023 14:10:33 +0530 Subject: [PATCH 08/92] feat: enhancement adding purchase event for track call (#810) --- src/configurations/destinations/googleads/schema.json | 5 +++-- src/configurations/destinations/googleads/ui-config.json | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/configurations/destinations/googleads/schema.json b/src/configurations/destinations/googleads/schema.json index 2a818041a..bb0613903 100644 --- a/src/configurations/destinations/googleads/schema.json +++ b/src/configurations/destinations/googleads/schema.json @@ -28,6 +28,7 @@ "Checkout", "Search", "AddToCart", + "purchase", "" ] } @@ -138,7 +139,7 @@ "properties": { "trackConversions": { "const": true }, "enableConversionEventsFiltering": { "const": true } - }, + }, "required": ["trackConversions", "enableConversionEventsFiltering"] }, "then": { @@ -176,7 +177,7 @@ "properties": { "trackDynamicRemarketing": { "const": true }, "enableDynamicRemarketingEventsFiltering": { "const": true } - }, + }, "required": ["trackDynamicRemarketing", "enableDynamicRemarketingEventsFiltering"] }, "then": { diff --git a/src/configurations/destinations/googleads/ui-config.json b/src/configurations/destinations/googleads/ui-config.json index a2afb6354..bf451b937 100644 --- a/src/configurations/destinations/googleads/ui-config.json +++ b/src/configurations/destinations/googleads/ui-config.json @@ -55,6 +55,10 @@ { "name": "AddToCart", "value": "AddToCart" + }, + { + "name": "Purchase", + "value": "purchase" } ] } From ee47ed76bec4b4e71d9910e553d84d7042ae657c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 7 Aug 2023 13:41:27 +0000 Subject: [PATCH 09/92] chore(release): 1.44.0 --- CHANGELOG.md | 16 ++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2c6e6b8f..fbf9304f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,22 @@ 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.44.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.43.2...v1.44.0) (2023-08-07) + + +### Features + +* create config generator script for os contribution ([#742](https://github.com/rudderlabs/rudder-config-schema/issues/742)) ([4d65441](https://github.com/rudderlabs/rudder-config-schema/commit/4d6544160dd14fdcb17806ba8f619d54e87a0fd0)) +* customerio option to send page name ([#789](https://github.com/rudderlabs/rudder-config-schema/issues/789)) ([c68062b](https://github.com/rudderlabs/rudder-config-schema/commit/c68062b3e72594b9b878324a6ef749114adacc15)) +* enhancement adding purchase event for track call ([#810](https://github.com/rudderlabs/rudder-config-schema/issues/810)) ([51b77b7](https://github.com/rudderlabs/rudder-config-schema/commit/51b77b79f196854acf3455b83c6a010ccf8aec5a)) +* new source type shopify changes ([#729](https://github.com/rudderlabs/rudder-config-schema/issues/729)) ([c0475c3](https://github.com/rudderlabs/rudder-config-schema/commit/c0475c3f0d3c29dc8d1c3d8394ed9f4f4e7061ae)) +* update klaviyo ui to new UI layout ([#493](https://github.com/rudderlabs/rudder-config-schema/issues/493)) ([97b6b8f](https://github.com/rudderlabs/rudder-config-schema/commit/97b6b8fd7e48cc8ea92d0a618075dd5e4fd91828)) + + +### Bug Fixes + +* include sendPageNameInSDK in includeKeys array ([#809](https://github.com/rudderlabs/rudder-config-schema/issues/809)) ([a7b3159](https://github.com/rudderlabs/rudder-config-schema/commit/a7b3159c55f8016a1cf6ebefb75f4896907f686a)) + ### [1.43.2](https://github.com/rudderlabs/rudder-config-schema/compare/v1.43.1...v1.43.2) (2023-08-01) diff --git a/package-lock.json b/package-lock.json index 61e00364f..c45283d2b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.43.2", + "version": "1.44.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.43.2", + "version": "1.44.0", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 870b018b8..b2b9abef8 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.43.2", + "version": "1.44.0", "description": "", "main": "src/index.ts", "private": true, From 6f6984ef991520f3edd36c00d7fa76b2e78c590b Mon Sep 17 00:00:00 2001 From: Yashasvi Bajpai <33063622+yashasvibajpai@users.noreply.github.com> Date: Tue, 8 Aug 2023 12:03:36 +0530 Subject: [PATCH 10/92] fix: increase keen's write key size constraint to 250 (#814) --- src/configurations/destinations/keen/ui-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/destinations/keen/ui-config.json b/src/configurations/destinations/keen/ui-config.json index f5eceeb4c..57fc6c541 100644 --- a/src/configurations/destinations/keen/ui-config.json +++ b/src/configurations/destinations/keen/ui-config.json @@ -16,7 +16,7 @@ "type": "textInput", "label": "Write Key", "value": "writeKey", - "regex": "^(.{0,100})$", + "regex": "^(.{0,250})$", "regexErrorMessage": "Invalid Write Key", "required": true } From ceac681f34dc74ea148cd67c702ae2e5cd0bfddc Mon Sep 17 00:00:00 2001 From: Ujjwal Abhishek <63387036+ujjwal-ab@users.noreply.github.com> Date: Tue, 8 Aug 2023 19:37:40 +0530 Subject: [PATCH 11/92] fix: remove validation for sendPageAsTrack & additionalPageInfo fields (#816) --- src/configurations/destinations/klaviyo/schema.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/configurations/destinations/klaviyo/schema.json b/src/configurations/destinations/klaviyo/schema.json index 64cb6be22..f5d19e2e2 100644 --- a/src/configurations/destinations/klaviyo/schema.json +++ b/src/configurations/destinations/klaviyo/schema.json @@ -66,8 +66,6 @@ } } }, - "sendPageAsTrack": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "additionalPageInfo": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "connectionMode": { "type": "object", From 1d57dadde2cd08d4752ae5c58861e8129835cede Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 8 Aug 2023 14:08:55 +0000 Subject: [PATCH 12/92] chore(release): 1.44.1 --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fbf9304f9..b518457d5 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.44.1](https://github.com/rudderlabs/rudder-config-schema/compare/v1.44.0...v1.44.1) (2023-08-08) + + +### Bug Fixes + +* remove validation for sendPageAsTrack & additionalPageInfo fields ([#816](https://github.com/rudderlabs/rudder-config-schema/issues/816)) ([ceac681](https://github.com/rudderlabs/rudder-config-schema/commit/ceac681f34dc74ea148cd67c702ae2e5cd0bfddc)) + ## [1.44.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.43.2...v1.44.0) (2023-08-07) diff --git a/package-lock.json b/package-lock.json index c45283d2b..a1e1f8ed2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.44.0", + "version": "1.44.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.44.0", + "version": "1.44.1", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index b2b9abef8..ca44ae6b9 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.44.0", + "version": "1.44.1", "description": "", "main": "src/index.ts", "private": true, From b7f12730a3d459ded9d9129d107604ddbcdb3c4d Mon Sep 17 00:00:00 2001 From: ujjwal-ab Date: Wed, 9 Aug 2023 16:53:55 +0530 Subject: [PATCH 13/92] Revert "Revert "fix: schema inconsistency (#761)"" This reverts commit 782e283d9c175463bfd117e557866c4e71baefed. --- scripts/schemaGenerator.py | 5 +- .../destinations/hs/schema.json | 137 ++++++++----- .../destinations/hs/ui-config.json | 12 +- .../destinations/pinterest_tag/schema.json | 113 +++++++---- .../destinations/pinterest_tag/ui-config.json | 11 +- .../destinations/pipedream/schema.json | 9 +- .../destinations/pipedream/ui-config.json | 1 + .../destinations/podsights/schema.json | 7 +- .../destinations/podsights/ui-config.json | 2 +- .../destinations/postgres/schema.json | 2 +- .../destinations/qualaroo/schema.json | 86 ++++++-- .../destinations/qualaroo/ui-config.json | 7 +- .../destinations/quora_pixel/schema.json | 19 +- .../destinations/quora_pixel/ui-config.json | 5 +- .../destinations/redis/schema.json | 45 +++-- .../destinations/redis/ui-config.json | 11 +- .../destinations/refiner/schema.json | 9 +- .../destinations/refiner/ui-config.json | 7 +- .../destinations/revenue_cat/schema.json | 5 +- .../destinations/revenue_cat/ui-config.json | 3 +- .../destinations/rockerbox/schema.json | 68 ++++--- .../destinations/rockerbox/ui-config.json | 6 +- .../destinations/rollbar/schema.json | 21 +- .../destinations/rollbar/ui-config.json | 9 +- .../destinations/rs/schema.json | 107 ++++++---- .../destinations/rs/ui-config.json | 28 +-- .../destinations/s3/schema.json | 51 ++++- .../destinations/s3/ui-config.json | 8 +- .../destinations/s3_datalake/schema.json | 60 ++++-- .../destinations/s3_datalake/ui-config.json | 12 +- .../destinations/salesforce/schema.json | 8 +- .../destinations/salesforce/ui-config.json | 1 + .../destinations/satismeter/schema.json | 88 +++++--- .../destinations/satismeter/ui-config.json | 5 +- .../destinations/sendinblue/schema.json | 41 ++-- .../destinations/sendinblue/ui-config.json | 11 +- .../destinations/sentry/schema.json | 47 ++++- .../destinations/sentry/ui-config.json | 9 +- .../destinations/serenytics/schema.json | 41 ++-- .../destinations/serenytics/ui-config.json | 13 +- .../destinations/shynet/schema.json | 9 +- .../destinations/shynet/ui-config.json | 7 +- .../destinations/signl4/schema.json | 17 +- .../destinations/signl4/ui-config.json | 19 +- .../destinations/singular/schema.json | 30 ++- .../destinations/singular/ui-config.json | 8 +- .../destinations/slack/schema.json | 20 +- .../destinations/slack/ui-config.json | 10 +- .../snapchat_conversion/schema.json | 72 ++++++- .../snapchat_conversion/ui-config.json | 10 +- .../snapchat_custom_audience/schema.json | 6 +- .../snapchat_custom_audience/ui-config.json | 3 +- .../destinations/snapengage/schema.json | 74 +++++-- .../destinations/snapengage/ui-config.json | 5 +- .../destinations/snowflake/schema.json | 190 ++++++++---------- .../destinations/snowflake/ui-config.json | 50 ++--- .../destinations/tiktok_ads/schema.json | 60 +++--- .../destinations/tiktok_ads/ui-config.json | 9 +- .../tiktok_ads_offline_events/schema.json | 6 +- .../tiktok_ads_offline_events/ui-config.json | 3 +- .../destinations/user/schema.json | 4 +- .../destinations/user/ui-config.json | 5 +- .../destinations/vero/schema.json | 14 +- .../destinations/vero/ui-config.json | 5 +- .../destinations/vitally/ui-config.json | 3 +- .../destinations/vwo/schema.json | 31 +-- .../destinations/vwo/ui-config.json | 9 +- .../destinations/webengage/schema.json | 7 +- .../destinations/webengage/ui-config.json | 6 +- .../destinations/webhook/schema.json | 9 +- .../destinations/webhook/ui-config.json | 2 + .../destinations/woopra/schema.json | 46 +++-- .../destinations/woopra/ui-config.json | 11 +- .../destinations/wootric/schema.json | 4 +- .../destinations/wootric/ui-config.json | 7 +- .../destinations/yahoo_dsp/schema.json | 31 ++- .../destinations/yahoo_dsp/ui-config.json | 9 +- .../destinations/yandex_metrica/schema.json | 26 ++- .../yandex_metrica/ui-config.json | 9 +- .../destinations/zapier/schema.json | 2 +- .../destinations/zapier/ui-config.json | 3 +- .../destinations/zendesk/schema.json | 16 +- .../destinations/zendesk/ui-config.json | 7 +- .../destinations/pinterest_tag.json | 30 ++- .../validation/destinations/quora_pixel.json | 12 +- test/data/validation/destinations/rs.json | 21 +- test/data/validation/destinations/s3.json | 6 + .../validation/destinations/s3_datalake.json | 10 +- .../validation/destinations/sendinblue.json | 14 +- test/data/validation/destinations/shynet.json | 2 +- .../validation/destinations/snowflake.json | 39 +++- .../tiktok_ads_offline_events.json | 12 +- test/data/validation/destinations/vero.json | 2 +- test/data/validation/destinations/woopra.json | 4 +- .../validation/destinations/yahoo_dsp.json | 9 +- .../destinations/yandex_metrica.json | 5 +- 96 files changed, 1401 insertions(+), 769 deletions(-) diff --git a/scripts/schemaGenerator.py b/scripts/schemaGenerator.py index 7a196bca8..280809a65 100644 --- a/scripts/schemaGenerator.py +++ b/scripts/schemaGenerator.py @@ -17,6 +17,8 @@ CONFIG_DIR = 'src/configurations' +EXCLUDED_DEST = ['postgres'] + class FieldTypeEnum(Enum): STRING = "string" OBJECT = "object" @@ -1002,7 +1004,8 @@ def get_schema_diff(name, selector): uiConfig = file_content.get("uiConfig") schema = file_content.get("configSchema") dbConfig = file_content.get("config") - validate_config_consistency(name, selector, uiConfig, dbConfig, schema) + if name not in EXCLUDED_DEST: + validate_config_consistency(name, selector, uiConfig, dbConfig, schema) if __name__ == '__main__': diff --git a/src/configurations/destinations/hs/schema.json b/src/configurations/destinations/hs/schema.json index fdb5997ad..0a6a56528 100644 --- a/src/configurations/destinations/hs/schema.json +++ b/src/configurations/destinations/hs/schema.json @@ -1,68 +1,24 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": [], "type": "object", "properties": { - "authorizationType": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(legacyApiKey|newPrivateAppApi)$" - }, "hubID": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "accessToken": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "apiVersion": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(legacyApi|newApi)$" - }, - "lookupField": { + "authorizationType": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "hubspotEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "rsEventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "hubspotEventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "eventProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } + "enum": ["legacyApiKey", "newPrivateAppApi"], + "default": "legacyApiKey" }, + "apiVersion": { "type": "string", "enum": ["legacyApi", "newApi"], "default": "legacyApi" }, "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "eventFilteringOption": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -100,6 +56,83 @@ } } } - } + }, + "allOf": [ + { + "if": { + "properties": { "authorizationType": { "const": "legacyApiKey" } }, + "required": ["authorizationType"] + }, + "then": { + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["apiKey"] + } + }, + { + "if": { + "properties": { "authorizationType": { "const": "newPrivateAppApi" } }, + "required": ["authorizationType"] + }, + "then": { + "properties": { + "accessToken": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["accessToken"] + } + }, + { + "if": { "properties": { "apiVersion": { "const": "newApi" } }, "required": ["apiVersion"] }, + "then": { + "properties": { + "lookupField": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "doAssociation": { "type": "boolean", "default": false }, + "hubspotEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "rsEventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "hubspotEventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "eventProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + }, + "required": ["lookupField"] + } + } + ] } } diff --git a/src/configurations/destinations/hs/ui-config.json b/src/configurations/destinations/hs/ui-config.json index fb1b734c1..d02ab3e55 100644 --- a/src/configurations/destinations/hs/ui-config.json +++ b/src/configurations/destinations/hs/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Hub ID", "value": "hubID", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Hub ID", "required": false, "placeholder": "e.g: 748991", @@ -39,7 +39,7 @@ }, "label": "API Key", "value": "apiKey", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid API Key", "required": true, "placeholder": "e.g: 05afa518-132c-40db-830a-de0f688902f7", @@ -53,7 +53,7 @@ }, "label": "Access Token", "value": "accessToken", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Access Token", "required": true, "placeholder": "e.g: pat-eu1-kjg875ya-9de4-98uu-8171-62875ht847r9", @@ -85,7 +85,7 @@ }, "label": "Hubspot property name to be used as lookup field", "value": "lookupField", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Property Name", "required": true, "placeholder": "e.g: lookupField", @@ -114,7 +114,7 @@ "type": "textInput", "label": "RudderStack Event Name", "value": "rsEventName", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g Products Searched", "footerNote": "Enter the RudderStack event name you want to map" @@ -123,7 +123,7 @@ "type": "textInput", "label": "HubSpot Event Name", "value": "hubspotEventName", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g Search", "footerNote": "Enter the corresponding Hubspot event name you want to map" diff --git a/src/configurations/destinations/pinterest_tag/schema.json b/src/configurations/destinations/pinterest_tag/schema.json index 9e278fad2..6b71c7877 100644 --- a/src/configurations/destinations/pinterest_tag/schema.json +++ b/src/configurations/destinations/pinterest_tag/schema.json @@ -1,66 +1,61 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": [], "type": "object", "properties": { "tagId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" }, - "advertiserId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" - }, "appId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" }, - "apiVersion": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(legacyApi|newApi)$" - }, - "adAccountId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" - }, - "conversionToken": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,101})$" - }, - "sendingUnHashedData": { "type": "boolean" }, - "enableDeduplication": { "type": "boolean" }, - "deduplicationKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "enhancedMatch": { "type": "boolean" }, - "sendExternalId": { "type": "boolean" }, - "sendAsCustomEvent": { "type": "boolean" }, - "eventsMapping": { + "apiVersion": { "type": "string", "enum": ["legacyApi", "newApi"], "default": "legacyApi" }, + "sendingUnHashedData": { "type": "boolean", "default": true }, + "enableDeduplication": { "type": "boolean", "default": false }, + "enhancedMatch": { "type": "boolean", "default": true }, + "sendExternalId": { "type": "boolean", "default": false }, + "sendAsCustomEvent": { "type": "boolean", "default": false }, + "customProperties": { "type": "array", "items": { "type": "object", "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { + "properties": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } }, - "customProperties": { + "eventsMapping": { "type": "array", "items": { "type": "object", "properties": { - "properties": { + "from": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "enum": [ + "Lead", + "PageVisit", + "ViewCategory", + "Signup", + "WatchVideo", + "Checkout", + "Search", + "AddToCart", + "Custom", + "" + ] } } } }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -98,6 +93,54 @@ } } } - } + }, + "allOf": [ + { + "if": { + "properties": { "apiVersion": { "const": "legacyApi" } }, + "required": ["apiVersion"] + }, + "then": { + "properties": { + "advertiserId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" + } + }, + "required": [] + } + }, + { + "if": { "properties": { "apiVersion": { "const": "newApi" } }, "required": ["apiVersion"] }, + "then": { + "properties": { + "adAccountId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" + }, + "conversionToken": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,101})$" + } + }, + "required": ["adAccountId", "conversionToken"] + } + }, + { + "if": { + "properties": { "enableDeduplication": { "const": true } }, + "required": ["enableDeduplication"] + }, + "then": { + "properties": { + "deduplicationKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["deduplicationKey"] + } + } + ] } } diff --git a/src/configurations/destinations/pinterest_tag/ui-config.json b/src/configurations/destinations/pinterest_tag/ui-config.json index 35ddf68d3..67fe4e379 100644 --- a/src/configurations/destinations/pinterest_tag/ui-config.json +++ b/src/configurations/destinations/pinterest_tag/ui-config.json @@ -7,6 +7,7 @@ "type": "textInput", "label": "TAG ID", "value": "tagId", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$", "required": false, "placeholder": "e.g: 123456789", "secret": true @@ -15,6 +16,7 @@ "type": "textInput", "label": "App Store App ID", "value": "appId", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$", "required": false, "placeholder": "e.g: 429047995", "secret": false, @@ -63,7 +65,7 @@ "value": "adAccountId", "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$", "regexErrorMessage": "Invalid Ad Account ID", - "required": false, + "required": true, "placeholder": "e.g: 549935085302", "secret": true, "footerNote": "Required field for cloud mode integration. For more information about how to get ad account id refer docs" @@ -76,9 +78,9 @@ }, "label": "Conversion Token", "value": "conversionToken", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,101})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,101})$", "regexErrorMessage": "Invalid Conversion Token", - "required": false, + "required": true, "placeholder": "e.g: pina_A98DB973KWL8XP1LZ94KJF0BMA5PEZ8C6490FWEI01QJMN32YU", "secret": true, "footerNote": "Required field for cloud mode integration. For more information about how to get conversion token refer docs" @@ -113,7 +115,8 @@ "label": "Deduplication Key", "value": "deduplicationKey", "placeholder": "e.g: messageId", - "required": false, + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "required": true, "footerNote": "Rudderstack will send this key-value from payload as an event deduplication key" }, { diff --git a/src/configurations/destinations/pipedream/schema.json b/src/configurations/destinations/pipedream/schema.json index 49f7bcf93..6e99701b6 100644 --- a/src/configurations/destinations/pipedream/schema.json +++ b/src/configurations/destinations/pipedream/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["pipedreamUrl"], + "type": "object", "properties": { "pipedreamUrl": { "type": "string", @@ -10,7 +10,8 @@ }, "pipedreamMethod": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(POST|PUT|PATCH|GET|DELETE)$)" + "enum": ["POST", "PUT", "PATCH", "GET", "DELETE"], + "default": "POST" }, "headers": { "type": "array", @@ -19,11 +20,11 @@ "properties": { "from": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100000})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" } } } diff --git a/src/configurations/destinations/pipedream/ui-config.json b/src/configurations/destinations/pipedream/ui-config.json index 6e128845b..88bc6b569 100644 --- a/src/configurations/destinations/pipedream/ui-config.json +++ b/src/configurations/destinations/pipedream/ui-config.json @@ -32,6 +32,7 @@ "labelRight": "Value", "keyLeft": "from", "keyRight": "to", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$", "placeholderLeft": "content-type", "placeholderRight": "application/json", "value": "headers" diff --git a/src/configurations/destinations/podsights/schema.json b/src/configurations/destinations/podsights/schema.json index 509469367..8552c28a3 100644 --- a/src/configurations/destinations/podsights/schema.json +++ b/src/configurations/destinations/podsights/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["pixelId"], + "type": "object", "properties": { "pixelId": { "type": "string", @@ -19,7 +19,7 @@ }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "enum": ["lead", "product", "addtocart", "checkout", "purchase", ""] } } } @@ -27,7 +27,8 @@ "enableAliasCall": { "type": "boolean", "default": false }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", diff --git a/src/configurations/destinations/podsights/ui-config.json b/src/configurations/destinations/podsights/ui-config.json index 03b773c0f..c9894466d 100644 --- a/src/configurations/destinations/podsights/ui-config.json +++ b/src/configurations/destinations/podsights/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Pixel ID", "value": "pixelId", - "regex": "^(.{0,100})$", + "regex": "^(.{1,100})$", "regexErrorMessage": "Invalid Pixel ID", "required": true, "placeholder": "e.g. dzq1p89h2bnp1ubi9x65hyx2hf5q1k3v", diff --git a/src/configurations/destinations/postgres/schema.json b/src/configurations/destinations/postgres/schema.json index 625558306..d62cbd63b 100644 --- a/src/configurations/destinations/postgres/schema.json +++ b/src/configurations/destinations/postgres/schema.json @@ -58,7 +58,7 @@ "sshHost": { "type": "string", "pattern": "(^env[.].+)|^(.{1,255})$" }, "sshPort": { "type": "string", "pattern": "(^env[.].+)|^(.{1,255})$" }, "sshUser": { "type": "string", "pattern": "(^env[.].+)|^(.{1,255})$" }, - "sshPublicKey": { "type": "string", "pattern": "(^env[.].+)|^(.{1,10000})$" } + "sshPublicKey": { "type": "string", "pattern": "(^env[.].+)|^(.{1,1000})$" } }, "required": ["sshHost", "sshPort", "sshUser", "sshPublicKey"] } diff --git a/src/configurations/destinations/qualaroo/schema.json b/src/configurations/destinations/qualaroo/schema.json index e712ad15b..85125b149 100644 --- a/src/configurations/destinations/qualaroo/schema.json +++ b/src/configurations/destinations/qualaroo/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["customerId", "siteToken"], + "type": "object", "properties": { "customerId": { "type": "string", @@ -12,27 +12,12 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "recordQualarooEvents": { "type": "boolean" }, - "updateEventNames": { "type": "boolean" }, - "eventsToStandard": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "recordQualarooEvents": { "type": "boolean", "default": false }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -58,7 +43,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -71,6 +55,64 @@ } } } - } + }, + "allOf": [ + { + "if": { + "properties": { "recordQualarooEvents": { "const": true } }, + "required": ["recordQualarooEvents"] + }, + "then": { + "properties": { + "eventsList": { + "type": "array", + "items": { "type": "string", "enum": ["show", "close", "submit", "noTargetMatch"] }, + "default": ["show"] + } + }, + "required": [] + } + }, + { + "if": { + "properties": { "recordQualarooEvents": { "const": true } }, + "required": ["recordQualarooEvents"] + }, + "then": { + "properties": { "updateEventNames": { "type": "boolean", "default": false } }, + "required": [] + } + }, + { + "if": { + "properties": { + "recordQualarooEvents": { "const": true }, + "updateEventNames": { "const": true } + }, + "required": ["recordQualarooEvents", "updateEventNames"] + }, + "then": { + "properties": { + "eventsToStandard": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "enum": ["show", "close", "submit", "noTargetMatch", ""] + } + } + } + } + }, + "required": [] + } + } + ] } } diff --git a/src/configurations/destinations/qualaroo/ui-config.json b/src/configurations/destinations/qualaroo/ui-config.json index c0bbecab1..7b67c94a3 100644 --- a/src/configurations/destinations/qualaroo/ui-config.json +++ b/src/configurations/destinations/qualaroo/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Customer ID", "value": "customerId", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Customer ID", "required": true, "placeholder": "e.g. 92102", @@ -18,7 +18,7 @@ "type": "textInput", "label": "Site Token", "value": "siteToken", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Site Token", "required": true, "placeholder": "e.g. j8N", @@ -171,6 +171,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -184,6 +185,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -203,6 +205,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/quora_pixel/schema.json b/src/configurations/destinations/quora_pixel/schema.json index 00e925657..4f4641ec6 100644 --- a/src/configurations/destinations/quora_pixel/schema.json +++ b/src/configurations/destinations/quora_pixel/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["pixelId"], + "type": "object", "properties": { "pixelId": { "type": "string", @@ -19,14 +19,27 @@ }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "enum": [ + "Generic", + "Purchase", + "GenerateLead", + "CompleteRegistration", + "AddPaymentInfo", + "AddToCart", + "AddToWishlist", + "InitiateCheckout", + "Search", + "Custom", + "" + ] } } } }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", diff --git a/src/configurations/destinations/quora_pixel/ui-config.json b/src/configurations/destinations/quora_pixel/ui-config.json index 8a7004b31..67488df1b 100644 --- a/src/configurations/destinations/quora_pixel/ui-config.json +++ b/src/configurations/destinations/quora_pixel/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "PIXEL ID", "value": "pixelId", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid PIXEL ID", "required": true, "placeholder": "e.g. d2bnp1ubi9x6zq1p89h5hyx2hf5q1k3v", @@ -110,6 +110,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -123,6 +124,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -153,6 +155,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/redis/schema.json b/src/configurations/destinations/redis/schema.json index bf6542350..669010760 100644 --- a/src/configurations/destinations/redis/schema.json +++ b/src/configurations/destinations/redis/schema.json @@ -1,30 +1,20 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, "required": ["address"], + "type": "object", "properties": { "address": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" }, "password": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" }, - "clusterMode": { "type": "boolean" }, - "secure": { "type": "boolean" }, + "clusterMode": { "type": "boolean", "default": true }, + "secure": { "type": "boolean", "default": false }, "prefix": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "database": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "caCertificate": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" - }, - "skipVerify": { "type": "boolean" }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -37,6 +27,33 @@ } } } - } + }, + "allOf": [ + { + "if": { "properties": { "clusterMode": { "const": false } }, "required": ["clusterMode"] }, + "then": { + "properties": { + "database": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + }, + "required": [] + } + }, + { + "if": { "properties": { "secure": { "const": true } }, "required": ["secure"] }, + "then": { + "properties": { + "skipVerify": { "type": "boolean", "default": false }, + "caCertificate": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" + } + }, + "required": [] + } + } + ] } } diff --git a/src/configurations/destinations/redis/ui-config.json b/src/configurations/destinations/redis/ui-config.json index 8a4e586e4..91809575e 100644 --- a/src/configurations/destinations/redis/ui-config.json +++ b/src/configurations/destinations/redis/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Address", "value": "address", - "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", "regexErrorMessage": "Invalid Address", "required": true, "placeholder": "e.g: localhost:6379" @@ -16,7 +16,7 @@ "type": "textInput", "label": "Password", "value": "password", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": false, "placeholder": "", "secret": true @@ -25,7 +25,7 @@ "type": "textInput", "label": "Database", "value": "database", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Database", "required": false, "placeholder": "", @@ -46,7 +46,7 @@ "preRequisiteField": { "name": "secure", "selectedValue": true }, "label": "CA certificate", "value": "caCertificate", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": false, "placeholder": "CA Certificate", "footerNote": "Can be skipped for CA's that can be verified with any client (eg. Elasticache)" @@ -55,7 +55,7 @@ "type": "textInput", "label": "Prefix", "value": "prefix", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Prefix", "required": false, "placeholder": "" @@ -74,6 +74,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/refiner/schema.json b/src/configurations/destinations/refiner/schema.json index 098ec124f..e1ccb4552 100644 --- a/src/configurations/destinations/refiner/schema.json +++ b/src/configurations/destinations/refiner/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["apiKey", "webClientApiKey"], + "type": "object", "properties": { "apiKey": { "type": "string", @@ -44,6 +44,12 @@ } } }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, "whitelistedEvents": { "type": "array", "items": { @@ -68,7 +74,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/refiner/ui-config.json b/src/configurations/destinations/refiner/ui-config.json index 058377a10..294a12907 100644 --- a/src/configurations/destinations/refiner/ui-config.json +++ b/src/configurations/destinations/refiner/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Refiner REST API Key", "value": "apiKey", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "required": true, "placeholder": "e.g. da70156h-05a3-4fa6-bb1g-da757fd036b4", "secret": true, @@ -17,7 +17,7 @@ "type": "textInput", "label": "Refiner Web Client API Key", "value": "webClientApiKey", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "required": true, "placeholder": "e.g. 0d8759e0-401c-11ed-8dbd-9757h4929b55", "secret": true, @@ -100,6 +100,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -113,6 +114,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -132,6 +134,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/revenue_cat/schema.json b/src/configurations/destinations/revenue_cat/schema.json index ef312897e..1aff6af15 100644 --- a/src/configurations/destinations/revenue_cat/schema.json +++ b/src/configurations/destinations/revenue_cat/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["apiKey"], + "type": "object", "properties": { "apiKey": { "type": "string", @@ -10,7 +10,8 @@ }, "xPlatform": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(ios|android|amazon|macos|stripe|uikitformac)$" + "enum": ["ios", "android", "amazon", "macos", "stripe", "uikitformac"], + "default": "stripe" }, "oneTrustCookieCategories": { "type": "array", diff --git a/src/configurations/destinations/revenue_cat/ui-config.json b/src/configurations/destinations/revenue_cat/ui-config.json index 241acd692..3326fea48 100644 --- a/src/configurations/destinations/revenue_cat/ui-config.json +++ b/src/configurations/destinations/revenue_cat/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Public API Key", "value": "apiKey", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "required": true, "placeholder": "e.g. b4a29aba5e75d99c8a18acd920ec1e2e", "secret": true, @@ -41,6 +41,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/rockerbox/schema.json b/src/configurations/destinations/rockerbox/schema.json index 2f1985574..210a1021c 100644 --- a/src/configurations/destinations/rockerbox/schema.json +++ b/src/configurations/destinations/rockerbox/schema.json @@ -1,37 +1,31 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["advertiserId"], + "type": "object", "properties": { - "advertiserId": { "type": "string" }, - "clientAuthId": { "type": "object", "properties": { "web": { "type": "string" } } }, - "customDomain": { - "type": "object", - "properties": { "web": { "type": "string", "pattern": "^(?!.*\\.ngrok\\.io).*$" } } + "advertiserId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "enableCookieSync": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "eventsMap": { + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, + "whitelistedEvents": { "type": "array", "items": { "type": "object", "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { + "eventName": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { + "blacklistedEvents": { "type": "array", "items": { "type": "object", @@ -43,31 +37,57 @@ } } }, - "blacklistedEvents": { + "oneTrustCookieCategories": { "type": "array", "items": { "type": "object", "properties": { - "eventName": { + "oneTrustCookieCategory": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "useNativeSDKToSend": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "oneTrustCookieCategories": { + "eventsMap": { "type": "array", "items": { "type": "object", "properties": { - "oneTrustCookieCategory": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } + }, + "clientAuthId": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + }, + "customDomain": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?!.*\\.ngrok\\.io).*$" + } + } + }, + "enableCookieSync": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "connectionMode": { + "type": "object", + "properties": { "web": { "type": "string", "enum": ["cloud", "device", "hybrid"] } } } } } diff --git a/src/configurations/destinations/rockerbox/ui-config.json b/src/configurations/destinations/rockerbox/ui-config.json index cfc95c876..a850e3a8b 100644 --- a/src/configurations/destinations/rockerbox/ui-config.json +++ b/src/configurations/destinations/rockerbox/ui-config.json @@ -17,7 +17,7 @@ "label": "Advertiser Id", "note": "Enter you Advertiser Id. If you don't have this, contact your RockerBox account manager", "configKey": "advertiserId", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Advertiser Id", "placeholder": "e.g: MOx2ZmMwLNE2A2IdNKL0N2VhN2I3ZGY1MTVmMzA1ODk0YmIkN" } @@ -202,7 +202,7 @@ "label": "Client Auth ID", "note": "Set you Client Auth ID here", "configKey": "clientAuthId", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Length of API Key must be below 50 characters.", "placeholder": "e.g: 755fc11162r14c41ar7e7df232f305984bb021a1" }, @@ -211,7 +211,7 @@ "label": "Custom Domain", "note": "Load pixel from a custom specific domain", "configKey": "customDomain", - "regex": "^(?!.*\\.ngrok\\.io).*$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?!.*\\.ngrok\\.io).*$", "regexErrorMessage": "Invalid Custom Domain", "placeholder": "customdomain.com" }, diff --git a/src/configurations/destinations/rollbar/schema.json b/src/configurations/destinations/rollbar/schema.json index 94f4c0e0d..4f0b4708b 100644 --- a/src/configurations/destinations/rollbar/schema.json +++ b/src/configurations/destinations/rollbar/schema.json @@ -8,30 +8,36 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "captureUncaughtException": { "type": "boolean" }, - "captureUnhandledRejections": { "type": "boolean" }, - "guessUncaughtFrames": { "type": "boolean" }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "captureUncaughtException": { "type": "boolean", "default": true }, + "captureUnhandledRejections": { "type": "boolean", "default": false }, + "guessUncaughtFrames": { "type": "boolean", "default": false }, "codeVersion": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, "environment": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, "ignoredMessages": { "type": "array", "items": { "type": "object", "properties": { - "eventName": { + "singleIgnoredMessage": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } }, - "sourceMapEnabled": { "type": "boolean" }, + "sourceMapEnabled": { "type": "boolean", "default": false }, + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, "whitelistedEvents": { "type": "array", "items": { @@ -56,7 +62,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/rollbar/ui-config.json b/src/configurations/destinations/rollbar/ui-config.json index 02201c8f2..413ebe240 100644 --- a/src/configurations/destinations/rollbar/ui-config.json +++ b/src/configurations/destinations/rollbar/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Access Token", "value": "accessToken", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Access Token", "required": true, "placeholder": "e.g: 96d96af0cdb847f4b1a4e7cc13255705", @@ -55,7 +55,7 @@ "type": "textInput", "label": "Code Version", "value": "codeVersion", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid ", "required": false, "placeholder": "e.g. 1.1.1", @@ -66,7 +66,7 @@ "type": "textInput", "label": "Environment", "value": "environment", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid ", "required": false, "placeholder": "e.g. production", @@ -131,6 +131,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -144,6 +145,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -163,6 +165,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/rs/schema.json b/src/configurations/destinations/rs/schema.json index e9332052c..4e5b3ee28 100644 --- a/src/configurations/destinations/rs/schema.json +++ b/src/configurations/destinations/rs/schema.json @@ -1,7 +1,6 @@ { "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", + "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "host", "port", @@ -11,35 +10,48 @@ "syncFrequency", "useRudderStorage" ], + "type": "object", "properties": { - "host": { "type": "string", "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,255})$" }, - "port": { "type": "string", "pattern": "(^env[.].+)|^(.{1,100})$" }, - "database": { "type": "string", "pattern": "(^env[.].+)|^(.{1,100})$" }, - "user": { "type": "string", "pattern": "(^env[.].+)|^(.{1,100})$" }, - "password": { "type": "string", "pattern": "(^env[.].+)|.+" }, - "namespace": { "type": "string", "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" }, + "host": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,255})$" + }, + "port": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "database": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "user": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "password": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" }, + "namespace": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + }, "syncFrequency": { "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", + "enum": ["30", "60", "180", "360", "720", "1440"], "default": "30" }, "syncStartAt": { "type": "string" }, "excludeWindow": { "type": "object", - "required": ["excludeWindowStartTime", "excludeWindowEndTime"], "properties": { "excludeWindowStartTime": { "type": "string" }, "excludeWindowEndTime": { "type": "string" } - } + }, + "required": ["excludeWindowStartTime", "excludeWindowEndTime"] + }, + "jsonPaths": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.*)$" }, - "jsonPaths": { "type": "string", "pattern": "(^env[.].*)|.*" }, "useRudderStorage": { "type": "boolean", "default": false }, - "prefix": { "type": "string", "pattern": "(^env[.].*)|^(.{0,100})$" }, - "iamRoleARN": { "type": "string" }, - "roleBasedAuth": { "type": "boolean" }, - "accessKeyID": { "type": "string", "pattern": "(^env[.].*)|^(.{0,100})$" }, - "accessKey": { "type": "string", "pattern": "(^env[.].*)|^(.{0,100})$" }, - "enableSSE": { "type": "boolean" }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -54,18 +66,6 @@ } }, "allOf": [ - { - "if": { "properties": { "useSSH": { "const": true } }, "required": ["useSSH"] }, - "then": { - "properties": { - "sshHost": { "type": "string", "pattern": "(^env[.].+)|^(.{1,255})$" }, - "sshPort": { "type": "string", "pattern": "(^env[.].+)|^(.{1,255})$" }, - "sshUser": { "type": "string", "pattern": "(^env[.].+)|^(.{1,255})$" }, - "sshPublicKey": { "type": "string", "pattern": "(^env[.].+)|^(.{1,10000})$" } - }, - "required": ["sshHost", "sshPort", "sshUser", "sshPublicKey"] - } - }, { "if": { "properties": { "useRudderStorage": { "const": false } }, @@ -75,22 +75,53 @@ "properties": { "bucketName": { "type": "string", - "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)" - } + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)" + }, + "prefix": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([^\\s]{0,100})$" + }, + "enableSSE": { "type": "boolean", "default": false } }, - "required": ["bucketName"] + "required": ["bucketName"], + "anyOf": [ + { + "properties": { + "accessKeyID": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "accessKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "roleBasedAuth": { "const": false } + }, + "required": [] + }, + { + "properties": { + "iamRoleARN": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "roleBasedAuth": { "const": true } + }, + "required": ["iamRoleARN", "roleBasedAuth"] + } + ] } }, { "if": { - "properties": { "roleBasedAuth": { "const": true } }, - "required": ["roleBasedAuth"] + "properties": { "useRudderStorage": { "const": false } }, + "required": ["useRudderStorage"] }, "then": { - "required": ["iamRoleARN"] + "properties": { "roleBasedAuth": { "type": "boolean", "default": true } }, + "required": [] } } - ], - "additionalProperties": true + ] } } diff --git a/src/configurations/destinations/rs/ui-config.json b/src/configurations/destinations/rs/ui-config.json index d0939e37d..dbc7e0db4 100644 --- a/src/configurations/destinations/rs/ui-config.json +++ b/src/configurations/destinations/rs/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Host", "value": "host", - "regex": "(?!.*\\.ngrok\\.io)^(.{0,255})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,255})$", "regexErrorMessage": "Invalid Host", "placeholder": "redshift.mydomain.com", "required": true @@ -16,7 +16,7 @@ "type": "textInput", "label": "Port", "value": "port", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Port", "placeholder": "5439", "required": true @@ -25,7 +25,7 @@ "type": "textInput", "label": "Database", "value": "database", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Database", "placeholder": "e.g: warehouse", "required": true @@ -34,7 +34,7 @@ "type": "textInput", "label": "User", "value": "user", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid User", "placeholder": "e.g: warehouseuser", "required": true @@ -43,7 +43,7 @@ "type": "textInput", "label": "Password", "value": "password", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "placeholder": "e.g: warehousepassword", "required": true, "secret": true @@ -53,7 +53,7 @@ "label": "Namespace", "labelNote": "Schema name for the warehouse where the tables are created", "value": "namespace", - "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!pg_|PG_|pG_|Pg_).{0,64})$", "regexErrorMessage": "Invalid Namespace", "required": false, "placeholder": "e.g: iosSource", @@ -72,7 +72,7 @@ { "name": "Every 24 hours", "value": "1440" } ], "defaultOption": { "name": "Every 30 minutes", "value": "30" }, - "required": false + "required": true }, { "type": "timePicker", @@ -97,7 +97,7 @@ "label": "JSON columns (Optional)", "labelNote": "Specify required JSON properties in dot notation separated by commas", "value": "jsonPaths", - "regex": "^(.*)$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.*)$", "placeholder": "e.g: testMap.nestedMap, testArray", "required": false, "footerURL": { @@ -114,6 +114,7 @@ "type": "checkbox", "label": "Use RudderStack managed object storage", "value": "useRudderStorage", + "required": true, "default": false, "footerNote": "Note: Only available for Rudderstack managed data planes" }, @@ -122,7 +123,7 @@ "label": "Staging S3 Storage Bucket Name", "labelNote": "S3 Bucket to store data before loading into Redshift", "value": "bucketName", - "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)", "regexErrorMessage": "Invalid Bucket name", "required": true, "placeholder": "e.g: event-bucket", @@ -133,7 +134,7 @@ "type": "textInput", "label": "Prefix", "value": "prefix", - "regex": "^([^\\s]{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([^\\s]{0,100})$", "regexErrorMessage": "Invalid Prefix", "required": false, "placeholder": "e.g: rudder", @@ -154,7 +155,7 @@ ], "label": "IAM Role ARN", "value": "iamRoleARN", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Role ARN", "required": true, "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", @@ -167,7 +168,7 @@ "type": "textInput", "label": "AWS Access Key ID", "value": "accessKeyID", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid AWS Access Key ID", "required": false, "placeholder": "e.g: access-key-id", @@ -181,7 +182,7 @@ "type": "textInput", "label": "AWS Secret Access Key", "value": "accessKey", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid AWS Secret Access Key", "required": false, "placeholder": "e.g: secret-access-key", @@ -212,6 +213,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/s3/schema.json b/src/configurations/destinations/s3/schema.json index 6e226362c..4f4be35d9 100644 --- a/src/configurations/destinations/s3/schema.json +++ b/src/configurations/destinations/s3/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["bucketName"], + "type": "object", "properties": { "bucketName": { "type": "string", @@ -12,13 +12,8 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "iamRoleARN": { "type": "string" }, - "roleBasedAuth": { "type": "boolean" }, - "accessKeyID": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "enableSSE": { "type": "boolean" }, + "roleBasedAuth": { "type": "boolean", "default": true }, + "enableSSE": { "type": "boolean", "default": false }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -31,6 +26,44 @@ } } } - } + }, + "allOf": [ + { + "if": { + "properties": { "roleBasedAuth": { "const": true } }, + "required": ["roleBasedAuth"] + }, + "then": { + "properties": { + "iamRoleARN": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "roleBasedAuth": { "const": true } + }, + "required": ["roleBasedAuth"] + } + }, + { + "if": { + "properties": { "roleBasedAuth": { "const": false } }, + "required": ["roleBasedAuth"] + }, + "then": { + "properties": { + "accessKeyID": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "accessKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "roleBasedAuth": { "const": false } + }, + "required": [] + } + } + ] } } diff --git a/src/configurations/destinations/s3/ui-config.json b/src/configurations/destinations/s3/ui-config.json index 920e9f0af..cb6043aa2 100644 --- a/src/configurations/destinations/s3/ui-config.json +++ b/src/configurations/destinations/s3/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "S3 Bucket Name", "value": "bucketName", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid S3 Bucket Name", "required": true, "placeholder": "e.g: s3-event-logs" @@ -32,7 +32,7 @@ "preRequisiteField": { "name": "roleBasedAuth", "selectedValue": true }, "label": "IAM Role ARN", "value": "iamRoleARN", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Role ARN", "required": false, "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", @@ -46,7 +46,7 @@ "preRequisiteField": { "name": "roleBasedAuth", "selectedValue": false }, "label": "AWS Access Key ID", "value": "accessKeyID", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid AWS Access Key ID", "required": false, "placeholder": "e.g: access-key-id", @@ -57,7 +57,7 @@ "preRequisiteField": { "name": "roleBasedAuth", "selectedValue": false }, "label": "AWS Secret Access Key", "value": "accessKey", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid AWS Secret Access Key", "required": false, "placeholder": "e.g: secret-access-key", diff --git a/src/configurations/destinations/s3_datalake/schema.json b/src/configurations/destinations/s3_datalake/schema.json index 277893a3d..11fa124a0 100644 --- a/src/configurations/destinations/s3_datalake/schema.json +++ b/src/configurations/destinations/s3_datalake/schema.json @@ -1,24 +1,24 @@ { "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", + "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["bucketName"], "type": "object", - "required": ["bucketName", "useGlue", "syncFrequency"], "properties": { "bucketName": { "type": "string", - "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" }, - "useGlue": { "type": "boolean" }, - "prefix": { "type": "string", "pattern": "(^env[.].*)|.*" }, - "namespace": { "type": "string", "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" }, - "iamRoleARN": { "type": "string" }, - "roleBasedAuth": { "type": "boolean" }, - "accessKeyID": { "type": "string", "pattern": "(^env[.].*)|.*" }, - "accessKey": { "type": "string", "pattern": "(^env[.].*)|.*" }, - "enableSSE": { "type": "boolean" }, + "useGlue": { "type": "boolean", "default": false }, + "prefix": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" }, + "namespace": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + }, + "roleBasedAuth": { "type": "boolean", "default": true }, + "enableSSE": { "type": "boolean", "default": false }, "syncFrequency": { "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", + "enum": ["30", "60", "180", "360", "720", "1440"], "default": "30" }, "syncStartAt": { "type": "string" }, @@ -39,7 +39,9 @@ { "if": { "properties": { "useGlue": { "const": true } }, "required": ["useGlue"] }, "then": { - "properties": { "region": { "type": "string", "pattern": "(^env[.].+)|.+" } }, + "properties": { + "region": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" } + }, "required": ["region"] } }, @@ -49,10 +51,36 @@ "required": ["roleBasedAuth"] }, "then": { - "required": ["iamRoleARN"] + "properties": { + "iamRoleARN": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "roleBasedAuth": { "const": true } + }, + "required": ["iamRoleARN", "roleBasedAuth"] + } + }, + { + "if": { + "properties": { "roleBasedAuth": { "const": false } }, + "required": ["roleBasedAuth"] + }, + "then": { + "properties": { + "accessKeyID": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" + }, + "accessKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" + }, + "roleBasedAuth": { "const": false } + }, + "required": [] } } - ], - "additionalProperties": true + ] } } diff --git a/src/configurations/destinations/s3_datalake/ui-config.json b/src/configurations/destinations/s3_datalake/ui-config.json index 440e82bdd..fe8ba591f 100644 --- a/src/configurations/destinations/s3_datalake/ui-config.json +++ b/src/configurations/destinations/s3_datalake/ui-config.json @@ -8,7 +8,7 @@ "label": "S3 Storage Bucket Name", "labelNote": "S3 Bucket to store your event data", "value": "bucketName", - "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", "required": true, "footerNote": "Please make sure the bucket exists in your S3" }, @@ -24,7 +24,7 @@ "label": "AWS Glue Region", "labelNote": "Your AWS Glue region.Ex-For N.Virginia, this field's value would be 'us-east-1'", "value": "region", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": true, "preRequisiteField": { "name": "useGlue", "selectedValue": true } }, @@ -42,7 +42,7 @@ "label": "Namespace", "value": "namespace", "labelNote": "Defaults to source name.", - "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!pg_|PG_|pG_|Pg_).{0,64})$", "required": false, "footerNote": "All data for the destination would be pushed to s3:////rudder-datalake/.If glue is enabled, all table definitions are created in a database with name set to namespace." }, @@ -57,7 +57,7 @@ "preRequisiteField": [{ "name": "roleBasedAuth", "selectedValue": true }], "label": "IAM Role ARN", "value": "iamRoleARN", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Role ARN", "required": true, "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", @@ -71,7 +71,7 @@ "preRequisiteField": [{ "name": "roleBasedAuth", "selectedValue": false }], "label": "AWS Access Key ID", "value": "accessKeyID", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": false, "placeholder": "e.g: access-key-id", "secret": true @@ -81,7 +81,7 @@ "preRequisiteField": [{ "name": "roleBasedAuth", "selectedValue": false }], "label": "AWS Secret Access Key", "value": "accessKey", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": false, "placeholder": "e.g: secret-access-key", "secret": true diff --git a/src/configurations/destinations/salesforce/schema.json b/src/configurations/destinations/salesforce/schema.json index 79ea036d1..9e0395b4a 100644 --- a/src/configurations/destinations/salesforce/schema.json +++ b/src/configurations/destinations/salesforce/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["userName", "password", "initialAccessToken"], + "type": "object", "properties": { "userName": { "type": "string", @@ -16,9 +16,9 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "mapProperties": { "type": "boolean" }, - "sandbox": { "type": "boolean" }, - "useContactId": { "type": "boolean" }, + "mapProperties": { "type": "boolean", "default": true }, + "sandbox": { "type": "boolean", "default": false }, + "useContactId": { "type": "boolean", "default": false }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/salesforce/ui-config.json b/src/configurations/destinations/salesforce/ui-config.json index 499f0d13c..94815d649 100644 --- a/src/configurations/destinations/salesforce/ui-config.json +++ b/src/configurations/destinations/salesforce/ui-config.json @@ -64,6 +64,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/satismeter/schema.json b/src/configurations/destinations/satismeter/schema.json index 3e4eb4bda..6b0f368d3 100644 --- a/src/configurations/destinations/satismeter/schema.json +++ b/src/configurations/destinations/satismeter/schema.json @@ -1,35 +1,20 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["writeKey"], + "type": "object", "properties": { "writeKey": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "identifyAnonymousUsers": { "type": "boolean" }, - "recordSatismeterEvents": { "type": "boolean" }, - "updateEventNames": { "type": "boolean" }, - "eventsToStandard": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "identifyAnonymousUsers": { "type": "boolean", "default": false }, + "recordSatismeterEvents": { "type": "boolean", "default": false }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -55,7 +40,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -68,6 +52,64 @@ } } } - } + }, + "allOf": [ + { + "if": { + "properties": { "recordSatismeterEvents": { "const": true } }, + "required": ["recordSatismeterEvents"] + }, + "then": { + "properties": { + "eventsList": { + "type": "array", + "items": { "type": "string", "enum": ["display", "dismiss", "progress", "complete"] }, + "default": ["display"] + } + }, + "required": [] + } + }, + { + "if": { + "properties": { "recordSatismeterEvents": { "const": true } }, + "required": ["recordSatismeterEvents"] + }, + "then": { + "properties": { "updateEventNames": { "type": "boolean", "default": false } }, + "required": [] + } + }, + { + "if": { + "properties": { + "recordSatismeterEvents": { "const": true }, + "updateEventNames": { "const": true } + }, + "required": ["recordSatismeterEvents", "updateEventNames"] + }, + "then": { + "properties": { + "eventsToStandard": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "enum": ["display", "dismiss", "progress", "complete", ""] + } + } + } + } + }, + "required": [] + } + } + ] } } diff --git a/src/configurations/destinations/satismeter/ui-config.json b/src/configurations/destinations/satismeter/ui-config.json index d025d6484..671446d01 100644 --- a/src/configurations/destinations/satismeter/ui-config.json +++ b/src/configurations/destinations/satismeter/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Write Key", "value": "writeKey", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Write Key.", "required": true, "placeholder": "e.g. 8ebfu2tr2833r08gfb", @@ -167,6 +167,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -180,6 +181,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -199,6 +201,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/sendinblue/schema.json b/src/configurations/destinations/sendinblue/schema.json index 2c5bf83fe..291ed7ba1 100644 --- a/src/configurations/destinations/sendinblue/schema.json +++ b/src/configurations/destinations/sendinblue/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["apiKey", "clientKey"], + "type": "object", "properties": { "apiKey": { "type": "string", @@ -12,16 +12,10 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "doi": { "type": "boolean" }, - "templateId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*?)\\}\\}$)|(^env[.].+)|^[0-9]+$|^$" - }, - "redirectionUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$|^$" - }, - "keyToContactAttributeMapping": { + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "doi": { "type": "boolean", "default": false }, + "sendTraitsInTrack": { "type": "boolean", "default": false }, + "contactAttributeMapping": { "type": "array", "items": { "type": "object", @@ -37,10 +31,10 @@ } } }, - "sendTraitsInTrack": { "type": "boolean" }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -66,7 +60,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -79,6 +72,24 @@ } } } - } + }, + "anyOf": [ + { + "if": { "properties": { "doi": { "const": true } }, "required": ["doi"] }, + "then": { + "properties": { + "templateId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" + }, + "redirectionUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$" + } + }, + "required": ["redirectionUrl"] + } + } + ] } } diff --git a/src/configurations/destinations/sendinblue/ui-config.json b/src/configurations/destinations/sendinblue/ui-config.json index 47821e997..1593c50bf 100644 --- a/src/configurations/destinations/sendinblue/ui-config.json +++ b/src/configurations/destinations/sendinblue/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "API Key", "value": "apiKey", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid API Key", "required": true, "placeholder": "e.g. xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", @@ -18,7 +18,7 @@ "type": "textInput", "label": "Client Key", "value": "clientKey", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Client Key", "required": true, "placeholder": "e.g. 1vd0i6w1al7q38ap5kucurfy", @@ -52,7 +52,7 @@ "type": "textInput", "label": "Template ID", "value": "templateId", - "regex": "^[0-9]+$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$", "regexErrorMessage": "Invalid Template ID", "placeholder": "e.g. 2", "footerNote": "Your DOI template ID from Automation tab", @@ -65,7 +65,7 @@ "type": "textInput", "label": "Redirection Url", "value": "redirectionUrl", - "regex": "(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$", "regexErrorMessage": "Invalid Redirection Url", "required": true, "placeholder": "e.g. https://my.sendinblue.com/", @@ -131,6 +131,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -144,6 +145,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -163,6 +165,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/sentry/schema.json b/src/configurations/destinations/sentry/schema.json index 8cfa744ee..be30ceecf 100644 --- a/src/configurations/destinations/sentry/schema.json +++ b/src/configurations/destinations/sentry/schema.json @@ -1,9 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, "required": ["dsn"], + "type": "object", "properties": { "dsn": { "type": "string" }, "environment": { "type": "string" }, @@ -11,32 +10,60 @@ "release": { "type": "string" }, "serverName": { "type": "string" }, "logger": { "type": "string" }, - "debugMode": { "type": "boolean" }, "ignoreErrors": { "type": "array", - "items": { "type": "object", "properties": { "ignoreErrors": { "type": "string" } } } + "items": { + "type": "object", + "properties": { + "ignoreErrors": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } }, "includePaths": { "type": "array", - "items": { "type": "object", "properties": { "includePaths": { "type": "string" } } } + "items": { + "type": "object", + "properties": { + "includePaths": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } }, "allowUrls": { "type": "array", "items": { "type": "object", - "properties": { "allowUrls": { "type": "string", "pattern": "^(?!.*\\.ngrok\\.io).*$" } } + "properties": { + "allowUrls": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?!.*\\.ngrok\\.io).*$" + } + } } }, "denyUrls": { "type": "array", "items": { "type": "object", - "properties": { "denyUrls": { "type": "string", "pattern": "^(?!.*\\.ngrok\\.io).*$" } } + "properties": { + "denyUrls": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?!.*\\.ngrok\\.io).*$" + } + } } }, + "debugMode": { "type": "boolean", "default": false }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "eventFilteringOption": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -62,7 +89,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -75,6 +101,7 @@ } } } - } + }, + "additionalProperties": false } } diff --git a/src/configurations/destinations/sentry/ui-config.json b/src/configurations/destinations/sentry/ui-config.json index e0c2cc0c1..bcb422322 100644 --- a/src/configurations/destinations/sentry/ui-config.json +++ b/src/configurations/destinations/sentry/ui-config.json @@ -54,6 +54,7 @@ "type": "textInput", "placeholder": "e.g. TYPE_ERROR", "value": "ignoreErrors", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Ignore Errors", "required": false } @@ -67,6 +68,7 @@ "type": "textInput", "placeholder": "e.g. abc/", "value": "includePaths", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Include Paths", "required": false } @@ -79,7 +81,7 @@ { "type": "textInput", "placeholder": "e.g. https://example.com/", - "regex": "^(?!.*\\.ngrok\\.io).*$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?!.*\\.ngrok\\.io).*$", "value": "allowUrls", "label": "Allow URLs", "required": false @@ -93,7 +95,7 @@ { "type": "textInput", "placeholder": "e.g. https://example.com/", - "regex": "^(?!.*\\.ngrok\\.io).*$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?!.*\\.ngrok\\.io).*$", "value": "denyUrls", "label": "Deny URLs", "required": false @@ -154,6 +156,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -167,6 +170,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -186,6 +190,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/serenytics/schema.json b/src/configurations/destinations/serenytics/schema.json index ac886d20f..a55f77506 100644 --- a/src/configurations/destinations/serenytics/schema.json +++ b/src/configurations/destinations/serenytics/schema.json @@ -1,31 +1,16 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": [], "type": "object", "properties": { "storageUrlIdentify": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$" }, "storageUrlTrack": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" - }, - "storageUrlGroup": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" - }, - "storageUrlAlias": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" - }, - "storageUrlPage": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" - }, - "storageUrlScreen": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$" }, "eventToStorageUrlMap": { "type": "array", @@ -34,15 +19,31 @@ "properties": { "from": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,200})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,200})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } }, + "storageUrlGroup": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$" + }, + "storageUrlAlias": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$" + }, + "storageUrlPage": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$" + }, + "storageUrlScreen": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$" + }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/serenytics/ui-config.json b/src/configurations/destinations/serenytics/ui-config.json index 0eb753f6e..61bcc8845 100644 --- a/src/configurations/destinations/serenytics/ui-config.json +++ b/src/configurations/destinations/serenytics/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Data Source Storage Url for Identify", "value": "storageUrlIdentify", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$", "required": false, "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" }, @@ -15,7 +15,7 @@ "type": "textInput", "label": "Data Source Storage Url for Track", "value": "storageUrlTrack", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$", "required": false, "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" }, @@ -35,7 +35,7 @@ "type": "textInput", "label": "Data Source Storage Url for Group", "value": "storageUrlGroup", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$", "required": false, "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" }, @@ -43,7 +43,7 @@ "type": "textInput", "label": "Data Source Storage Url for Alias", "value": "storageUrlAlias", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$", "required": false, "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" }, @@ -51,7 +51,7 @@ "type": "textInput", "label": "Data Source Storage Url for Page", "value": "storageUrlPage", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$", "required": false, "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" }, @@ -59,7 +59,7 @@ "type": "textInput", "label": "Data Source Storage Url for Screen", "value": "storageUrlScreen", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,200})$", "required": false, "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" } @@ -77,6 +77,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/shynet/schema.json b/src/configurations/destinations/shynet/schema.json index ac74b09da..cdb150b84 100644 --- a/src/configurations/destinations/shynet/schema.json +++ b/src/configurations/destinations/shynet/schema.json @@ -10,13 +10,14 @@ }, "shynetServiceUrl": { "type": "string", - "pattern": "^(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,300})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,300})$" }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "whitelistedEvents": { "type": "array", "items": { @@ -36,7 +37,7 @@ "properties": { "eventName": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,300})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } diff --git a/src/configurations/destinations/shynet/ui-config.json b/src/configurations/destinations/shynet/ui-config.json index 39b2fc146..ec3460172 100644 --- a/src/configurations/destinations/shynet/ui-config.json +++ b/src/configurations/destinations/shynet/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Heart Beat", "value": "heartBeatFrequencyInMs", - "regex": "^(.{0,10})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,10})$", "regexErrorMessage": "Length of Heart Beat must be below 10 characters.", "required": false, "secret": false, @@ -17,7 +17,7 @@ "type": "textInput", "label": "Shynet Script URL", "value": "shynetServiceUrl", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,300})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,300})$", "regexErrorMessage": "Length of URL must be below 300 characters.", "required": true, "secret": false, @@ -71,6 +71,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -84,6 +85,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -103,6 +105,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/signl4/schema.json b/src/configurations/destinations/signl4/schema.json index 3fdc23200..dda4e9f9e 100644 --- a/src/configurations/destinations/signl4/schema.json +++ b/src/configurations/destinations/signl4/schema.json @@ -1,12 +1,12 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["apiKey"], + "type": "object", "properties": { "apiKey": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,300})$" }, "s4ServiceValue": { "type": "string", @@ -26,7 +26,8 @@ }, "s4AlertingScenarioValue": { "type": "string", - "pattern": "^(single_ack|multi_ack|emergency)$" + "enum": ["single_ack", "multi_ack", "emergency"], + "default": "single_ack" }, "s4AlertingScenarioProperty": { "type": "string", @@ -40,13 +41,17 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "s4StatusValue": { "type": "string", "pattern": "^(new|acknowledged|resolved)$" }, + "s4StatusValue": { + "type": "string", + "enum": ["new", "acknowledged", "resolved"], + "default": "new" + }, "s4StatusProperty": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "s4Filter": { "type": "boolean" }, - "columnToPropertyMapping": { + "s4Filter": { "type": "boolean", "default": false }, + "eventToTitleMapping": { "type": "array", "items": { "type": "object", diff --git a/src/configurations/destinations/signl4/ui-config.json b/src/configurations/destinations/signl4/ui-config.json index fbc06c885..fcacf967d 100644 --- a/src/configurations/destinations/signl4/ui-config.json +++ b/src/configurations/destinations/signl4/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "API Key", "value": "apiKey", - "regex": "^(.{1,300})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,300})$", "regexErrorMessage": "Invalid API Key", "required": true, "placeholder": "e.g. gi11aat8xy", @@ -23,7 +23,7 @@ "type": "textInput", "label": "Default Value", "value": "s4ServiceValue", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid X-S4-Service Value", "required": false, "placeholder": "e.g. Security", @@ -33,7 +33,7 @@ "type": "textInput", "label": "RudderStack property name", "value": "s4ServiceProperty", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid property name", "required": false, "placeholder": "e.g. service", @@ -49,7 +49,7 @@ "type": "textInput", "label": "Default Value", "value": "s4LocationValue", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid X-S4-Location Value", "required": false, "placeholder": "e.g. 40.6413111,-73.7781391", @@ -59,7 +59,7 @@ "type": "textInput", "label": "RudderStack property name", "value": "s4LocationProperty", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid property name", "required": false, "placeholder": "e.g. location", @@ -86,7 +86,7 @@ "type": "textInput", "label": "RudderStack property name", "value": "s4AlertingScenarioProperty", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid property name", "required": false, "placeholder": "e.g. alertingScenario", @@ -102,7 +102,7 @@ "type": "textInput", "label": "Default Value", "value": "s4ExternalIDValue", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid X-S4-ExternalID", "required": false, "placeholder": "e.g. INC091210", @@ -112,7 +112,7 @@ "type": "textInput", "label": "RudderStack property name", "value": "s4ExternalIDProperty", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid property name", "required": false, "placeholder": "e.g. externalId", @@ -140,7 +140,7 @@ "type": "textInput", "label": "RudderStack property name", "value": "s4StatusProperty", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid property name", "required": false, "placeholder": "e.g. status", @@ -189,6 +189,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/singular/schema.json b/src/configurations/destinations/singular/schema.json index da3946213..2582c434f 100644 --- a/src/configurations/destinations/singular/schema.json +++ b/src/configurations/destinations/singular/schema.json @@ -1,26 +1,42 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["apiKey"], + "type": "object", "properties": { - "apiKey": { "type": "string" }, - "apiSecret": { "type": "string" }, + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[a-zA-Z0-9_]*$" + }, + "apiSecret": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[a-zA-Z0-9]*$" + }, "sessionEventList": { "type": "array", "items": { "type": "object", "properties": { - "eventName": { + "sessionEventName": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } }, + "useNativeSDK": { + "type": "object", + "properties": { + "android": { "type": "boolean" }, + "ios": { "type": "boolean" }, + "reactnative": { "type": "boolean" }, + "cordova": { "type": "boolean" } + } + }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -46,10 +62,6 @@ } } }, - "useNativeSDK": { - "type": "object", - "properties": { "android": { "type": "boolean" }, "ios": { "type": "boolean" } } - }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/singular/ui-config.json b/src/configurations/destinations/singular/ui-config.json index fb55a9439..b7eed9eae 100644 --- a/src/configurations/destinations/singular/ui-config.json +++ b/src/configurations/destinations/singular/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "API Key", "value": "apiKey", - "regex": "^[a-zA-Z0-9_]*$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[a-zA-Z0-9_]*$", "regexErrorMessage": "Invalid API Key", "required": true, "placeholder": "e.g: abcd_456e5678", @@ -17,7 +17,7 @@ "type": "textInput", "label": "Secret", "value": "apiSecret", - "regex": "^[a-zA-Z0-9]*$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[a-zA-Z0-9]*$", "regexErrorMessage": "Invalid Secret Key", "required": false, "placeholder": "e.g: r344c6e48c0r87y6iio567b67ad61324", @@ -32,6 +32,7 @@ { "type": "textInput", "value": "sessionEventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Session Event Name" } @@ -85,6 +86,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -98,6 +100,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -117,6 +120,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/slack/schema.json b/src/configurations/destinations/slack/schema.json index 40063cfd6..2da9b1f05 100644 --- a/src/configurations/destinations/slack/schema.json +++ b/src/configurations/destinations/slack/schema.json @@ -1,13 +1,9 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["webhookUrl"], "type": "object", "properties": { - "webhookUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})" - }, - "identifyTemplate": { "type": "string" }, "eventChannelSettings": { "type": "array", "items": { @@ -21,10 +17,14 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "eventRegex": { "type": "boolean" } + "eventRegex": { "type": "boolean", "default": false } } } }, + "identifyTemplate": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" + }, "eventTemplateSettings": { "type": "array", "items": { @@ -38,10 +38,14 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" }, - "eventRegex": { "type": "boolean" } + "eventRegex": { "type": "boolean", "default": false } } } }, + "webhookUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" + }, "whitelistedTraitsSettings": { "type": "array", "items": { @@ -49,7 +53,7 @@ "properties": { "trait": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } diff --git a/src/configurations/destinations/slack/ui-config.json b/src/configurations/destinations/slack/ui-config.json index c6382bc51..6c4f8fc4c 100644 --- a/src/configurations/destinations/slack/ui-config.json +++ b/src/configurations/destinations/slack/ui-config.json @@ -11,7 +11,7 @@ "type": "textInput", "label": "Event Name", "value": "eventName", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Event Name", "required": false, "placeholder": "e.g: ABCDEFG" @@ -20,7 +20,7 @@ "type": "textInput", "label": "Event Channel", "value": "eventChannel", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Event Channel", "required": false, "placeholder": "e.g: ABCDEFG" @@ -42,7 +42,7 @@ "type": "textInput", "label": "Identify Template", "value": "identifyTemplate", - "regex": "^(.{0,1000})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$", "regexErrorMessage": "Invalid Identify Template", "required": false, "placeholder": "e.g: ABCDEFG" @@ -60,7 +60,7 @@ "type": "textInput", "label": "Event Name", "value": "eventName", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Event Name", "required": false, "placeholder": "e.g: ABCDEFG" @@ -69,7 +69,7 @@ "type": "textInput", "label": "Event Template", "value": "eventTemplate", - "regex": "^(.{0,1000})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$", "regexErrorMessage": "Invalid Event Template", "required": false, "placeholder": "e.g: ABCDEFG" diff --git a/src/configurations/destinations/snapchat_conversion/schema.json b/src/configurations/destinations/snapchat_conversion/schema.json index be8efcca7..e3ffe35d9 100644 --- a/src/configurations/destinations/snapchat_conversion/schema.json +++ b/src/configurations/destinations/snapchat_conversion/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["apiKey"], + "type": "object", "properties": { "apiKey": { "type": "string", @@ -12,8 +12,14 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "snapAppId": { "type": "string" }, - "appId": { "type": "string" }, + "snapAppId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "appId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, "rudderEventsToSnapEvents": { "type": "array", "items": { @@ -25,16 +31,45 @@ }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "enum": [ + "products_searched", + "product_list_viewed", + "promotion_viewed", + "promotion_clicked", + "product_viewed", + "checkout_started", + "payment_info_entered", + "order_completed", + "product_added", + "product_added_to_wishlist", + "sign_up", + "app_open", + "save", + "subscribe", + "complete_tutorial", + "invite", + "login", + "share", + "reserve", + "achievement_unlocked", + "spent_credits", + "rate", + "start_trial", + "list_view", + "page_view", + "app_install", + "custom_event_1", + "custom_event_2", + "custom_event_3", + "custom_event_4", + "custom_event_5", + "" + ] } } } }, - "enableDeduplication": { "type": "boolean" }, - "deduplicationKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, + "enableDeduplication": { "type": "boolean", "default": false }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -47,6 +82,23 @@ } } } - } + }, + "anyOf": [ + { + "if": { + "properties": { "enableDeduplication": { "const": true } }, + "required": ["enableDeduplication"] + }, + "then": { + "properties": { + "deduplicationKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["deduplicationKey"] + } + } + ] } } diff --git a/src/configurations/destinations/snapchat_conversion/ui-config.json b/src/configurations/destinations/snapchat_conversion/ui-config.json index 676103aff..8811db5af 100644 --- a/src/configurations/destinations/snapchat_conversion/ui-config.json +++ b/src/configurations/destinations/snapchat_conversion/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "API Token", "value": "apiKey", - "regex": "^(.{1,500})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,500})$", "required": true, "placeholder": "e.g. MTp6WHZyNbJXZVNMMm11AlJ1R1BXeVVBOkk0dFk5dkEybUVEWAw5NHk5dXBYUjBIdWp6QzZCNC1TMEFGU9QwYVdnUjg", "secret": true, @@ -17,7 +17,7 @@ "type": "textInput", "label": "Pixel ID", "value": "pixelId", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Pixel ID", "required": false, "placeholder": "e.g: 836d6231-aad6-4e41-9cbb-5854565cad8e", @@ -29,6 +29,7 @@ "label": "Snap App ID", "value": "snapAppId", "required": false, + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "placeholder": "e.g: 836d6231-aad6-4e41-9cbb-5854565cad8e", "secret": true, "footerNote": "Your Snap App ID" @@ -38,6 +39,7 @@ "label": "App ID", "value": "appId", "required": false, + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "placeholder": "e.g: 836d6231-aad6-4e41-9cbb-5854565cad8e", "secret": true, "footerNote": "Your App ID" @@ -107,8 +109,9 @@ "preRequisiteField": [{ "name": "enableDeduplication", "selectedValue": true }], "label": "Deduplication Key", "value": "deduplicationKey", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "placeholder": "e.g: messageId", - "required": false, + "required": true, "footerNote": "RudderStack will use this field for deduplication. If nothing is specified, messageId field will be used." } ] @@ -125,6 +128,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/snapchat_custom_audience/schema.json b/src/configurations/destinations/snapchat_custom_audience/schema.json index 75b492a28..e3f6aa58b 100644 --- a/src/configurations/destinations/snapchat_custom_audience/schema.json +++ b/src/configurations/destinations/snapchat_custom_audience/schema.json @@ -1,15 +1,15 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["segmentId", "schema"], "type": "object", - "required": ["segmentId"], "properties": { "segmentId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "schema": { "type": "string", "pattern": "^(email|phone|mobileAdId)$" }, - "disableHashing": { "type": "boolean" }, + "schema": { "type": "string", "enum": ["email", "phone", "mobileAdId"], "default": "email" }, + "disableHashing": { "type": "boolean", "default": false }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/snapchat_custom_audience/ui-config.json b/src/configurations/destinations/snapchat_custom_audience/ui-config.json index 64846d94c..cc9bc3de9 100644 --- a/src/configurations/destinations/snapchat_custom_audience/ui-config.json +++ b/src/configurations/destinations/snapchat_custom_audience/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Segment Id", "value": "segmentId", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Segment Id", "required": true, "placeholder": "e.g. 4996042382964722", @@ -52,6 +52,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/snapengage/schema.json b/src/configurations/destinations/snapengage/schema.json index 4715b4896..c3fdbeac3 100644 --- a/src/configurations/destinations/snapengage/schema.json +++ b/src/configurations/destinations/snapengage/schema.json @@ -8,27 +8,12 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "recordLiveChatEvents": { "type": "boolean" }, - "updateEventNames": { "type": "boolean" }, - "eventsToStandard": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "recordLiveChatEvents": { "type": "boolean", "default": false }, "eventFilteringOption": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -66,6 +51,55 @@ } } } - } + }, + "allOf": [ + { + "if": { + "properties": { "recordLiveChatEvents": { "const": true } }, + "required": ["recordLiveChatEvents"] + }, + "then": { + "properties": { "updateEventNames": { "type": "boolean", "default": false } }, + "required": [] + } + }, + { + "if": { + "properties": { + "recordLiveChatEvents": { "const": true }, + "updateEventNames": { "const": true } + }, + "required": ["recordLiveChatEvents", "updateEventNames"] + }, + "then": { + "properties": { + "eventsToStandard": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "enum": [ + "startChat", + "close", + "chatMessageSent", + "chatMessageReceived", + "inlineButtonClicked", + "" + ] + } + } + } + } + }, + "required": [] + } + } + ] } } diff --git a/src/configurations/destinations/snapengage/ui-config.json b/src/configurations/destinations/snapengage/ui-config.json index cfb45b573..1a1bed04a 100644 --- a/src/configurations/destinations/snapengage/ui-config.json +++ b/src/configurations/destinations/snapengage/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Widget ID", "value": "widgetId", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Widget ID length should be less than 100 characters", "required": true, "placeholder": "e.g: 0c739ebb-2016-44a0-b1da-a5b5eb272474", @@ -129,6 +129,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -142,6 +143,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -161,6 +163,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/snowflake/schema.json b/src/configurations/destinations/snowflake/schema.json index 597116dbd..36b185cba 100644 --- a/src/configurations/destinations/snowflake/schema.json +++ b/src/configurations/destinations/snowflake/schema.json @@ -1,7 +1,6 @@ { "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", + "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "account", "database", @@ -11,67 +10,52 @@ "syncFrequency", "useRudderStorage" ], + "type": "object", "properties": { "account": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, "database": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, "warehouse": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, "user": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, "role": { "type": "string", - "pattern": "(^env[.].*)|^(.{0,100})$" - }, - "password": { - "type": "string", - "pattern": "(^env[.].+)|.+" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, + "password": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" }, "namespace": { "type": "string", - "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" }, "syncFrequency": { "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", + "enum": ["30", "60", "180", "360", "720", "1440"], "default": "30" }, - "syncStartAt": { - "type": "string" - }, + "syncStartAt": { "type": "string" }, "excludeWindow": { "type": "object", - "required": ["excludeWindowStartTime", "excludeWindowEndTime"], "properties": { - "excludeWindowStartTime": { - "type": "string" - }, - "excludeWindowEndTime": { - "type": "string" - } - } + "excludeWindowStartTime": { "type": "string" }, + "excludeWindowEndTime": { "type": "string" } + }, + "required": ["excludeWindowStartTime", "excludeWindowEndTime"] }, "jsonPaths": { "type": "string", - "pattern": "(^env[.].*)|.*" - }, - "useRudderStorage": { - "type": "boolean", - "default": false - }, - "cloudProvider": { - "type": "string", - "pattern": "^(AWS|GCP|AZURE)$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.*)$" }, + "useRudderStorage": { "type": "boolean", "default": false }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -83,61 +67,41 @@ } } } - } - }, - "ketchConsentPurposes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "purpose": { - "type": "string", - "pattern": "^(.{0,100})$" - } + }, + "ketchConsentPurposes": { + "type": "array", + "items": { + "type": "object", + "properties": { "purpose": { "type": "string", "pattern": "^(.{0,100})$" } } } } }, "allOf": [ { "if": { - "properties": { - "useRudderStorage": { - "const": false - } - }, - "required": ["useRudderStorage"] - }, - "then": { - "required": ["cloudProvider"] - } - }, - { - "if": { - "properties": { - "useRudderStorage": { - "const": false - } - }, + "properties": { "useRudderStorage": { "const": false } }, "required": ["useRudderStorage"] }, "then": { "properties": { + "cloudProvider": { + "type": "string", + "enum": ["AWS", "GCP", "AZURE"], + "default": "AWS" + }, "prefix": { "type": "string", - "pattern": "(^env[.].*)|^(.{0,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } - } + }, + "required": ["cloudProvider"] } }, { "if": { "properties": { - "cloudProvider": { - "const": "AWS" - }, - "useRudderStorage": { - "const": false - } + "cloudProvider": { "const": "AWS" }, + "useRudderStorage": { "const": false } }, "required": ["cloudProvider", "useRudderStorage"] }, @@ -145,26 +109,37 @@ "properties": { "bucketName": { "type": "string", - "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" }, - "enableSSE": { - "type": "boolean" - } + "storageIntegration": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "roleBasedAuth": { "type": "boolean", "default": true }, + "enableSSE": { "type": "boolean", "default": false } }, "required": ["bucketName"], "anyOf": [ { - "type": "object", "properties": { - "accessKeyID": { "type": "string", "pattern": "(^env[.].+)|^(.{0,100})$" }, - "accessKey": { "type": "string", "pattern": "(^env[.].+)|^(.{0,100})$" } + "accessKeyID": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "accessKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "roleBasedAuth": { "const": false } }, "required": ["accessKeyID", "accessKey"] }, { - "type": "object", "properties": { - "iamRoleARN": { "type": "string" }, + "iamRoleARN": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, "roleBasedAuth": { "const": true } }, "required": ["iamRoleARN", "roleBasedAuth"] @@ -175,12 +150,8 @@ { "if": { "properties": { - "cloudProvider": { - "const": "GCP" - }, - "useRudderStorage": { - "const": false - } + "cloudProvider": { "const": "GCP" }, + "useRudderStorage": { "const": false } }, "required": ["cloudProvider", "useRudderStorage"] }, @@ -188,28 +159,25 @@ "properties": { "bucketName": { "type": "string", - "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" }, - "credentials": { + "storageIntegration": { "type": "string", - "pattern": "(^env[.].+)|.+" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "storageIntegration": { + "credentials": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" } - } + }, + "required": ["bucketName", "storageIntegration", "credentials"] } }, { "if": { "properties": { - "cloudProvider": { - "const": "AZURE" - }, - "useRudderStorage": { - "const": false - } + "cloudProvider": { "const": "AZURE" }, + "useRudderStorage": { "const": false } }, "required": ["cloudProvider", "useRudderStorage"] }, @@ -217,24 +185,27 @@ "properties": { "containerName": { "type": "string", - "pattern": "(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" }, - "accountName": { + "storageIntegration": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "storageIntegration": { + "accountName": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "useSASTokens": { "type": "boolean", "default": false } }, + "required": ["containerName", "storageIntegration", "accountName"], "anyOf": [ { "properties": { "accountKey": { "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "useSASTokens": { "const": false } }, "required": ["accountKey"] }, @@ -242,18 +213,15 @@ "properties": { "sasToken": { "type": "string", - "pattern": "(^env[.].+)|^(.+)$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.+)$" }, - "useSASTokens": { - "const": true - } + "useSASTokens": { "const": true } }, "required": ["sasToken", "useSASTokens"] } ] } } - ], - "additionalProperties": true + ] } } diff --git a/src/configurations/destinations/snowflake/ui-config.json b/src/configurations/destinations/snowflake/ui-config.json index b72c15616..c55ae41fc 100644 --- a/src/configurations/destinations/snowflake/ui-config.json +++ b/src/configurations/destinations/snowflake/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Account", "value": "account", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Account", "placeholder": "e.g: qya54180.us-east-1", "required": true @@ -16,7 +16,7 @@ "type": "textInput", "label": "Database", "value": "database", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Database", "placeholder": "e.g: RUDDER_EVENTS", "required": true @@ -25,7 +25,7 @@ "type": "textInput", "label": "Warehouse", "value": "warehouse", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Database", "placeholder": "e.g: RUDDER_WAREHOUSE", "required": true @@ -34,7 +34,7 @@ "type": "textInput", "label": "User", "value": "user", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid User", "placeholder": "e.g: RUDDER_USER", "required": true @@ -43,7 +43,7 @@ "type": "textInput", "label": "Role", "value": "role", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Role", "placeholder": "e.g: RUDDER_ROLE", "required": false @@ -52,7 +52,7 @@ "type": "textInput", "label": "Password", "value": "password", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "placeholder": "e.g: RUDDER_PASSWORD", "required": true, "secret": true @@ -62,7 +62,7 @@ "label": "Namespace", "labelNote": "Schema name for the warehouse where the tables are created", "value": "namespace", - "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!pg_|PG_|pG_|Pg_).{0,64})$", "regexErrorMessage": "Invalid Namespace", "required": false, "placeholder": "e.g: RUDDER_NAMESPACE", @@ -102,7 +102,7 @@ "name": "Every 30 minutes", "value": "30" }, - "required": false + "required": true }, { "type": "timePicker", @@ -139,7 +139,7 @@ "label": "JSON columns (Optional)", "labelNote": "Specify required JSON properties in dot notation separated by commas", "value": "jsonPaths", - "regex": "^(.*)$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.*)$", "placeholder": "e.g: testMap.nestedMap, testArray", "required": false, "footerURL": { @@ -157,7 +157,8 @@ "label": "Use RudderStack managed object storage", "value": "useRudderStorage", "default": false, - "footerNote": "Note: Only available for RudderStack managed data planes" + "footerNote": "Note: Only available for RudderStack managed data planes", + "required": true }, { "type": "singleSelect", @@ -202,7 +203,7 @@ "label": "Staging S3 Storage Bucket Name", "labelNote": "S3 Bucket to store data before loading into Snowflake", "value": "bucketName", - "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", "regexErrorMessage": "Invalid Staging S3 Storage Bucket Name", "placeholder": "e.g: s3-event-logs", "required": true, @@ -223,7 +224,7 @@ "label": "Staging GCS Object Storage Bucket Name", "labelNote": "GCS Bucket to store data before loading into Snowflake", "value": "bucketName", - "regex": "^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", "regexErrorMessage": "Invalid Staging GCS Object Storage Bucket Name", "required": true, "placeholder": "e.g: gcs-event-logs", @@ -244,7 +245,7 @@ "label": "Staging Azure Blob Storage Container Name", "labelNote": "Container to store data before loading into Snowflake", "value": "containerName", - "regex": "^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", "regexErrorMessage": "Invalid Staging Azure Blob Storage Container Name", "required": true, "placeholder": "e.g: azure-event-logs", @@ -254,7 +255,7 @@ "type": "textInput", "label": "Prefix", "value": "prefix", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Prefix", "required": false, "placeholder": "e.g: rudder", @@ -277,7 +278,7 @@ ], "label": "Storage Integration", "value": "storageIntegration", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Storage Integration", "placeholder": "e.g: aws_int", "footerURL": { @@ -299,7 +300,7 @@ ], "label": "Storage Integration", "value": "storageIntegration", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Storage Integration", "required": true, "placeholder": "e.g: gcs_int", @@ -322,7 +323,7 @@ ], "label": "Storage Integration", "value": "storageIntegration", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Storage Integration", "required": true, "placeholder": "e.g: azure_int", @@ -365,7 +366,7 @@ ], "label": "IAM Role ARN", "value": "iamRoleARN", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Role ARN", "required": true, "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", @@ -392,7 +393,7 @@ ], "label": "AWS Access Key ID", "value": "accessKeyID", - "regex": "^(.{0,100})$", + "regex": "^(.{1,100})$", "regexErrorMessage": "Invalid AWS Access Key ID", "required": true, "placeholder": "e.g: access-key-id", @@ -416,7 +417,7 @@ ], "label": "AWS Secret Access Key", "value": "accessKey", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid AWS Secret Access Key", "required": true, "placeholder": "e.g: secret-access-key", @@ -452,7 +453,7 @@ ], "label": "Azure Blob Storage Account Name", "value": "accountName", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Azure Blob Storage Account Name", "required": true, "placeholder": "e.g: account-name" @@ -475,7 +476,7 @@ ], "label": "Azure Blob Storage Account Key", "value": "accountKey", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Azure Blob Storage Account Key", "required": true, "secret": true, @@ -499,7 +500,7 @@ ], "label": "Azure Blob Storage SAS Token", "value": "sasToken", - "regex": "^(.+)$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.+)$", "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", "required": true, "placeholder": "e.g: sas-token", @@ -537,7 +538,7 @@ "label": "Credentials", "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", "value": "credentials", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": true, "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'" } @@ -555,6 +556,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/tiktok_ads/schema.json b/src/configurations/destinations/tiktok_ads/schema.json index 210a71345..f677b0b10 100644 --- a/src/configurations/destinations/tiktok_ads/schema.json +++ b/src/configurations/destinations/tiktok_ads/schema.json @@ -1,36 +1,52 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["pixelCode"], "type": "object", - "required": [ - "pixelCode" - ], "properties": { - "accessToken": { - "type": "string", - "pattern": ".*" - }, + "accessToken": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" }, "pixelCode": { "type": "string", - "pattern": "^(.{0,100})$" - }, - "hashUserProperties": { - "type": "boolean" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, + "hashUserProperties": { "type": "boolean", "default": true }, "eventsToStandard": { "type": "array", "items": { "type": "object", "properties": { "from": { - "type": "string" + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, "to": { - "type": "string" + "type": "string", + "enum": [ + "AddPaymentInfo", + "AddToCart", + "AddToWishlist", + "ClickButton", + "CompletePayment", + "CompleteRegistration", + "Contact", + "Download", + "InitiateCheckout", + "PlaceAnOrder", + "Search", + "SubmitForm", + "Subscribe", + "ViewContent", + "" + ] } } } }, + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, "whitelistedEvents": { "type": "array", "items": { @@ -55,14 +71,7 @@ } } }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -79,14 +88,9 @@ "type": "array", "items": { "type": "object", - "properties": { - "purpose": { - "type": "string", - "pattern": "^(.{0,100})$" - } - } + "properties": { "purpose": { "type": "string", "pattern": "^(.{0,100})$" } } } } } } -} \ No newline at end of file +} diff --git a/src/configurations/destinations/tiktok_ads/ui-config.json b/src/configurations/destinations/tiktok_ads/ui-config.json index 34dd91e21..fac9a7957 100644 --- a/src/configurations/destinations/tiktok_ads/ui-config.json +++ b/src/configurations/destinations/tiktok_ads/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Access Token", "value": "accessToken", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": false, "placeholder": "e.g. 1234ac663758946dfea3520b394bbac611b371f7", "secret": true, @@ -17,7 +17,7 @@ "type": "textInput", "label": "Pixel Code", "value": "pixelCode", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Pixel Code", "required": true, "placeholder": "e.g: A1T8T4UYGVIQA8ORZMX9", @@ -142,6 +142,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -155,6 +156,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -185,6 +187,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } @@ -208,4 +211,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/src/configurations/destinations/tiktok_ads_offline_events/schema.json b/src/configurations/destinations/tiktok_ads_offline_events/schema.json index ac474fc1a..9b0a46788 100644 --- a/src/configurations/destinations/tiktok_ads_offline_events/schema.json +++ b/src/configurations/destinations/tiktok_ads_offline_events/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["accessToken"], + "type": "object", "properties": { "accessToken": { "type": "string", @@ -19,12 +19,12 @@ }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "enum": ["CompletePayment", "Contact", "SubmitForm", "Subscribe", ""] } } } }, - "hashUserProperties": { "type": "boolean" }, + "hashUserProperties": { "type": "boolean", "default": true }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/tiktok_ads_offline_events/ui-config.json b/src/configurations/destinations/tiktok_ads_offline_events/ui-config.json index 97e7d167f..55528b091 100644 --- a/src/configurations/destinations/tiktok_ads_offline_events/ui-config.json +++ b/src/configurations/destinations/tiktok_ads_offline_events/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Access Token", "value": "accessToken", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": true, "placeholder": "e.g. 1234ac663758946dfea3520b394bbac611b371f7", "secret": true, @@ -61,6 +61,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/user/schema.json b/src/configurations/destinations/user/schema.json index 21e56be5b..de051e124 100644 --- a/src/configurations/destinations/user/schema.json +++ b/src/configurations/destinations/user/schema.json @@ -1,12 +1,12 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["apiKey", "appSubdomain"], "type": "object", - "required": ["apiKey"], "properties": { "apiKey": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,500})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, "appSubdomain": { "type": "string", diff --git a/src/configurations/destinations/user/ui-config.json b/src/configurations/destinations/user/ui-config.json index d940af1ec..3c1031cc7 100644 --- a/src/configurations/destinations/user/ui-config.json +++ b/src/configurations/destinations/user/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Public REST API Key", "value": "apiKey", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid API Key", "required": true, "placeholder": "e.g: 1d6583b196d34de28a3g19ahadde4b0z" @@ -16,7 +16,7 @@ "type": "textInput", "label": "Your App Subdomain", "value": "appSubdomain", - "regex": "^(.{0,500})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,500})$", "regexErrorMessage": "Invalid App Subdomain", "required": true, "placeholder": "e.g: commander" @@ -100,6 +100,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/vero/schema.json b/src/configurations/destinations/vero/schema.json index 8770afda4..7980232ec 100644 --- a/src/configurations/destinations/vero/schema.json +++ b/src/configurations/destinations/vero/schema.json @@ -1,9 +1,13 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": [], + "type": "object", "properties": { + "authToken": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,150})$" + }, "apiKey": { "type": "object", "properties": { @@ -13,7 +17,12 @@ } } }, - "authToken": { "type": "string" }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, "whitelistedEvents": { "type": "array", "items": { @@ -38,7 +47,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/vero/ui-config.json b/src/configurations/destinations/vero/ui-config.json index 01e7ab2df..e915fdebd 100644 --- a/src/configurations/destinations/vero/ui-config.json +++ b/src/configurations/destinations/vero/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Authentication Token", "value": "authToken", - "regex": "^(.{0,150})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,150})$", "regexErrorMessage": "Length of Authentication Token must be below 150 characters.", "required": false, "secret": true, @@ -17,7 +17,7 @@ "type": "textInput", "label": "API Key", "value": "apiKey", - "regex": "^(.{0,50})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Length of API Key must be below 50 characters.", "required": false, "secret": true, @@ -103,6 +103,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/vitally/ui-config.json b/src/configurations/destinations/vitally/ui-config.json index dd934784c..994f0908c 100644 --- a/src/configurations/destinations/vitally/ui-config.json +++ b/src/configurations/destinations/vitally/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "API KEY", "value": "apiKeyVitally", - "regex": "^(.{1,500})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,500})$", "regexErrorMessage": "Length of API KEY must be below 200 characters.", "required": true, "secret": true, @@ -27,6 +27,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/vwo/schema.json b/src/configurations/destinations/vwo/schema.json index 888358477..33a0819d8 100644 --- a/src/configurations/destinations/vwo/schema.json +++ b/src/configurations/destinations/vwo/schema.json @@ -1,28 +1,21 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["accountId"], + "type": "object", "properties": { "accountId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "isSPA": { "type": "boolean" }, - "sendExperimentTrack": { "type": "boolean" }, - "sendExperimentIdentify": { "type": "boolean" }, - "libraryTolerance": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "settingsTolerance": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "useExistingJquery": { "type": "boolean" }, + "isSPA": { "type": "boolean", "default": false }, + "sendExperimentTrack": { "type": "boolean", "default": false }, + "sendExperimentIdentify": { "type": "boolean", "default": false }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "eventFilteringOption": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(disable|whitelistedEvents|blacklistedEvents)$)" + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -48,7 +41,15 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "libraryTolerance": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "settingsTolerance": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "useExistingJquery": { "type": "boolean", "default": false }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/vwo/ui-config.json b/src/configurations/destinations/vwo/ui-config.json index 5f2af5437..b9ee61051 100644 --- a/src/configurations/destinations/vwo/ui-config.json +++ b/src/configurations/destinations/vwo/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Account Id", "value": "accountId", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Account Id", "required": true, "placeholder": "e.g: 410057" @@ -78,6 +78,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -91,6 +92,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -105,7 +107,7 @@ "type": "textInput", "label": "Library Tolerance", "value": "libraryTolerance", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Library Tolerance", "placeholder": "e.g: 2000", "default": "2500" @@ -114,7 +116,7 @@ "type": "textInput", "label": "Setting Tolerance", "value": "settingsTolerance", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Setting Tolerance", "placeholder": "e.g: 2000", "default": "2000" @@ -139,6 +141,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/webengage/schema.json b/src/configurations/destinations/webengage/schema.json index 4fcc40fdf..d1c041860 100644 --- a/src/configurations/destinations/webengage/schema.json +++ b/src/configurations/destinations/webengage/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["licenseCode", "apiKey", "dataCenter"], + "type": "object", "properties": { "licenseCode": { "type": "string", @@ -12,10 +12,7 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "dataCenter": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(standard|ind)$" - }, + "dataCenter": { "type": "string", "enum": ["standard", "ind"], "default": "standard" }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/webengage/ui-config.json b/src/configurations/destinations/webengage/ui-config.json index d1e78326f..2bc0c8d86 100644 --- a/src/configurations/destinations/webengage/ui-config.json +++ b/src/configurations/destinations/webengage/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "License Code", "value": "licenseCode", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "required": true, "placeholder": "e.g. b4a29aba", "secret": true @@ -16,7 +16,7 @@ "type": "textInput", "label": "Api Key", "value": "apiKey", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "required": true, "placeholder": "e.g. b4a29aba17jmbad7b6c1a5asjghj", "secret": true @@ -25,6 +25,7 @@ "type": "singleSelect", "label": "Data Center", "value": "dataCenter", + "required": true, "options": [ { "name": "Standard", "value": "standard" }, { "name": "IND", "value": "ind" } @@ -45,6 +46,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/webhook/schema.json b/src/configurations/destinations/webhook/schema.json index b9bf8b7aa..6cf73802b 100644 --- a/src/configurations/destinations/webhook/schema.json +++ b/src/configurations/destinations/webhook/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["webhookUrl"], + "type": "object", "properties": { "webhookUrl": { "type": "string", @@ -10,7 +10,8 @@ }, "webhookMethod": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(POST|PUT|PATCH|GET|DELETE)$)" + "enum": ["POST", "PUT", "PATCH", "GET", "DELETE"], + "default": "POST" }, "headers": { "type": "array", @@ -19,11 +20,11 @@ "properties": { "from": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100000})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" } } } diff --git a/src/configurations/destinations/webhook/ui-config.json b/src/configurations/destinations/webhook/ui-config.json index 59409991d..c24be2871 100644 --- a/src/configurations/destinations/webhook/ui-config.json +++ b/src/configurations/destinations/webhook/ui-config.json @@ -31,6 +31,7 @@ "labelLeft": "Key", "labelRight": "Value", "keyLeft": "from", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$", "keyRight": "to", "placeholderLeft": "content-type", "placeholderRight": "application/json", @@ -50,6 +51,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/woopra/schema.json b/src/configurations/destinations/woopra/schema.json index fdfb411c9..9e36b7f90 100644 --- a/src/configurations/destinations/woopra/schema.json +++ b/src/configurations/destinations/woopra/schema.json @@ -1,20 +1,41 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["projectName"], + "type": "object", "properties": { - "projectName": { "type": "string", "pattern": "^(([a-z0-9]+[.])+[a-z]{1,})$" }, - "cookieName": { "type": "string" }, - "cookieDomain": { "type": "string" }, - "clickTracking": { "type": "boolean" }, - "cookiePath": { "type": "string" }, - "downloadTracking": { "type": "boolean" }, - "hideCampaign": { "type": "boolean" }, - "idleTimeout": { "type": "string" }, - "ignoreQueryUrl": { "type": "boolean" }, - "outgoingIgnoreSubdomain": { "type": "boolean" }, - "outgoingTracking": { "type": "boolean" }, + "projectName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(([a-z0-9]+[.])+[a-z]{1,})$" + }, + "cookieName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "cookieDomain": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "clickTracking": { "type": "boolean", "default": false }, + "cookiePath": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "downloadTracking": { "type": "boolean", "default": true }, + "hideCampaign": { "type": "boolean", "default": false }, + "idleTimeout": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]+)$" + }, + "ignoreQueryUrl": { "type": "boolean", "default": true }, + "outgoingIgnoreSubdomain": { "type": "boolean", "default": true }, + "outgoingTracking": { "type": "boolean", "default": false }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, "whitelistedEvents": { "type": "array", "items": { @@ -39,7 +60,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/woopra/ui-config.json b/src/configurations/destinations/woopra/ui-config.json index d0ad27445..a1386e760 100644 --- a/src/configurations/destinations/woopra/ui-config.json +++ b/src/configurations/destinations/woopra/ui-config.json @@ -8,7 +8,7 @@ "label": "Project Name", "value": "projectName", "required": true, - "regex": "^(([a-z0-9]+[.])+[a-z]{1,})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(([a-z0-9]+[.])+[a-z]{1,})$", "regexErrorMessage": "Project Name should be a Domain.", "placeholder": "e.g: myproject.com", "footerNote": "Enter The name of your project in Woopra. This would be used as fallback value if not provided inside integrations object of payload." @@ -23,6 +23,7 @@ "type": "textInput", "label": "Cookie Name", "value": "cookieName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "default": "wooTracker", "required": false, "placeholder": "e.g: wpTracker", @@ -32,6 +33,7 @@ "type": "textInput", "label": "Cookie Domain", "value": "cookieDomain", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: test", "footerNote": "Domain scope of the Woopra cookie. Default: Website domain." @@ -40,6 +42,7 @@ "type": "checkbox", "label": "Click Tracking", "value": "clickTracking", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "default": false, "footerNote": "Tracks user click interactions with links and buttons. Default: False." @@ -48,6 +51,7 @@ "type": "textInput", "label": "Cookie Path", "value": "cookiePath", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: newFolder/test", "default": "/", @@ -74,7 +78,7 @@ "label": "Idle Timeout", "value": "idleTimeout", "required": false, - "regex": "^([0-9]+)$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]+)$", "regexErrorMessage": "Idle Timeout should be a number.", "default": "300000", "placeholder": "20000000", @@ -152,6 +156,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -165,6 +170,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -184,6 +190,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/wootric/schema.json b/src/configurations/destinations/wootric/schema.json index c4c5ac68c..0647ad77d 100644 --- a/src/configurations/destinations/wootric/schema.json +++ b/src/configurations/destinations/wootric/schema.json @@ -1,14 +1,14 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["username", "password", "accountToken"], + "type": "object", "properties": { "username": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "password": { "type": "string", "pattern": "(^env[.].+)|.+" }, + "password": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" }, "accountToken": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" diff --git a/src/configurations/destinations/wootric/ui-config.json b/src/configurations/destinations/wootric/ui-config.json index 93bf13437..cdc8584cf 100644 --- a/src/configurations/destinations/wootric/ui-config.json +++ b/src/configurations/destinations/wootric/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Username", "value": "username", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid User", "required": true, "placeholder": "e.g. test@gmail.com", @@ -17,7 +17,7 @@ "type": "textInput", "label": "Password", "value": "password", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*", "required": true, "placeholder": "e.g. password@123", "secret": true @@ -26,7 +26,7 @@ "type": "textInput", "label": "Account Token", "value": "accountToken", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Account Token", "required": true, "placeholder": "e.g. NPS-123456", @@ -46,6 +46,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/yahoo_dsp/schema.json b/src/configurations/destinations/yahoo_dsp/schema.json index ca1b90f7c..cb3230eab 100644 --- a/src/configurations/destinations/yahoo_dsp/schema.json +++ b/src/configurations/destinations/yahoo_dsp/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["clientId", "clientSecret", "accountId", "audienceType", "audienceId"], "type": "object", - "required": ["clientId", "clientSecret", "audienceId", "accountId"], "properties": { "clientId": { "type": "string", @@ -12,17 +12,20 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "audienceId": { + "accountId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" }, - "accountId": { + "audienceType": { + "type": "string", + "enum": ["EMAIL", "DEVICE_ID", "IP_ADDRESS"], + "default": "EMAIL" + }, + "audienceId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" }, - "audienceType": { "type": "string", "pattern": "^(EMAIL|DEVICE_ID|IP_ADDRESS)$" }, - "seedListType": { "type": "string", "pattern": "^(GPADVID|IDFA)$" }, - "hashRequired": { "type": "boolean" }, + "hashRequired": { "type": "boolean", "default": true }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -35,6 +38,20 @@ } } } - } + }, + "anyOf": [ + { + "if": { + "properties": { "audienceType": { "const": "DEVICE_ID" } }, + "required": ["audienceType"] + }, + "then": { + "properties": { + "seedListType": { "type": "string", "enum": ["GPADVID", "IDFA"], "default": "GPADVID" } + }, + "required": ["seedListType"] + } + } + ] } } diff --git a/src/configurations/destinations/yahoo_dsp/ui-config.json b/src/configurations/destinations/yahoo_dsp/ui-config.json index 94866cca1..3337b7eda 100644 --- a/src/configurations/destinations/yahoo_dsp/ui-config.json +++ b/src/configurations/destinations/yahoo_dsp/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Client Id", "value": "clientId", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Client Id", "required": true, "placeholder": "e.g. b05ebeb8-a223-3cd6-z4c5-9512d3d66d431", @@ -18,7 +18,7 @@ "type": "textInput", "label": "Client Secret", "value": "clientSecret", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Client Secret", "required": true, "placeholder": "e.g: XpewiPsz3yc9LrADR43f9h53jADLccXTykHCcA6eEoFR4rXQ", @@ -34,7 +34,7 @@ "type": "textInput", "label": "Account Id", "value": "accountId", - "regex": "^[0-9]+$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$", "regexErrorMessage": "Invalid Account Id", "required": true, "placeholder": "e.g. 84223", @@ -77,7 +77,7 @@ "type": "textInput", "label": "Audience Id", "value": "audienceId", - "regex": "^[0-9]+$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$", "regexErrorMessage": "Invalid Audience Id", "required": true, "placeholder": "e.g. 53213445", @@ -110,6 +110,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/yandex_metrica/schema.json b/src/configurations/destinations/yandex_metrica/schema.json index 2c77637c9..4d3723dc0 100644 --- a/src/configurations/destinations/yandex_metrica/schema.json +++ b/src/configurations/destinations/yandex_metrica/schema.json @@ -1,17 +1,17 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["tagId"], + "type": "object", "properties": { "tagId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "clickMap": { "type": "boolean" }, - "trackLinks": { "type": "boolean" }, - "trackBounce": { "type": "boolean" }, - "webvisor": { "type": "boolean" }, + "clickMap": { "type": "boolean", "default": false }, + "trackLinks": { "type": "boolean", "default": false }, + "trackBounce": { "type": "boolean", "default": false }, + "webvisor": { "type": "boolean", "default": false }, "containerName": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" @@ -25,21 +25,20 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } + "to": { "type": "string", "enum": ["detail", "add", "remove", "purchase", ""] } } } }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, "goalId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" }, + "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, "whitelistedEvents": { "type": "array", "items": { @@ -64,7 +63,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/yandex_metrica/ui-config.json b/src/configurations/destinations/yandex_metrica/ui-config.json index c2828d2b2..831c5ec4a 100644 --- a/src/configurations/destinations/yandex_metrica/ui-config.json +++ b/src/configurations/destinations/yandex_metrica/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Tag ID", "value": "tagId", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Tag ID, example value 56252632", "required": true, "placeholder": "e.g. 56252632", @@ -51,7 +51,7 @@ "type": "textInput", "label": "Container name", "value": "containerName", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid Container name", "required": false, "placeholder": "e.g. dataLayer", @@ -91,7 +91,7 @@ "type": "textInput", "label": "Goal ID", "value": "goalId", - "regex": "^[0-9]+$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$", "regexErrorMessage": "Invalid Goal ID", "required": false, "placeholder": "e.g. 263922671", @@ -146,6 +146,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Anonymous Page Visit" } @@ -159,6 +160,7 @@ { "type": "textInput", "value": "eventName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g: Credit Card Added" } @@ -178,6 +180,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/zapier/schema.json b/src/configurations/destinations/zapier/schema.json index 02affeed9..bdf30bde7 100644 --- a/src/configurations/destinations/zapier/schema.json +++ b/src/configurations/destinations/zapier/schema.json @@ -1,8 +1,8 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", "required": ["zapUrl"], + "type": "object", "properties": { "zapUrl": { "type": "string", diff --git a/src/configurations/destinations/zapier/ui-config.json b/src/configurations/destinations/zapier/ui-config.json index 868295f79..4532fb85c 100644 --- a/src/configurations/destinations/zapier/ui-config.json +++ b/src/configurations/destinations/zapier/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Zap URL", "value": "zapUrl", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$", "regexErrorMessage": "Invalid Zap URL", "required": true, "placeholder": "e.g. https://hooks.zapier.com/hooks/catch/123456/abcdefg/", @@ -54,6 +54,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/src/configurations/destinations/zendesk/schema.json b/src/configurations/destinations/zendesk/schema.json index 47acc678a..0857dc53c 100644 --- a/src/configurations/destinations/zendesk/schema.json +++ b/src/configurations/destinations/zendesk/schema.json @@ -1,26 +1,26 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["email", "apiToken", "domain"], "type": "object", "additionalProperties": false, - "required": ["email", "apiToken", "domain"], "properties": { "email": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, "apiToken": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, "domain": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, - "createUsersAsVerified": { "type": "boolean" }, - "sendGroupCallsWithoutUserId": { "type": "boolean" }, - "removeUsersFromOrganization": { "type": "boolean" }, - "searchByExternalId": { "type": "boolean" }, + "createUsersAsVerified": { "type": "boolean", "default": false }, + "sendGroupCallsWithoutUserId": { "type": "boolean", "default": false }, + "removeUsersFromOrganization": { "type": "boolean", "default": false }, + "searchByExternalId": { "type": "boolean", "default": false }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/zendesk/ui-config.json b/src/configurations/destinations/zendesk/ui-config.json index 4a61ed791..1c8db35bf 100644 --- a/src/configurations/destinations/zendesk/ui-config.json +++ b/src/configurations/destinations/zendesk/ui-config.json @@ -7,7 +7,7 @@ "type": "textInput", "label": "Email", "value": "email", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Email Address", "required": true, "placeholder": "e.g: abc@xyz.com" @@ -16,7 +16,7 @@ "type": "textInput", "label": "API Token", "value": "apiToken", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid API Token", "required": true, "placeholder": "API Token for Zendesk login", @@ -26,7 +26,7 @@ "type": "textInput", "label": "Zendesk Subdomain", "value": "domain", - "regex": "^(.{0,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid Zendesk Subdomain", "required": true, "placeholder": "Subdomain only not including .zendesk.com" @@ -70,6 +70,7 @@ "type": "textInput", "placeholder": "Marketing", "value": "oneTrustCookieCategory", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "label": "Category Name/ID", "required": false } diff --git a/test/data/validation/destinations/pinterest_tag.json b/test/data/validation/destinations/pinterest_tag.json index b8ba4513c..5cd470bd6 100644 --- a/test/data/validation/destinations/pinterest_tag.json +++ b/test/data/validation/destinations/pinterest_tag.json @@ -21,7 +21,7 @@ "eventsMapping": [ { "from": "Track Ping", - "to": "ping" + "to": "Lead" } ] }, @@ -47,7 +47,7 @@ "eventsMapping": [ { "from": "Track Ping", - "to": "ping" + "to": "Lead" } ] }, @@ -74,12 +74,15 @@ "eventsMapping": [ { "from": "Track Ping", - "to": "ping" + "to": "Lead" } ] }, "result": false, - "err": ["advertiserId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$\""] + "err": [ + "advertiserId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$\"", + " must match \"then\" schema" + ] }, { "config": { @@ -100,7 +103,7 @@ "eventsMapping": [ { "from": "Track Ping", - "to": "ping" + "to": "Lead" } ] }, @@ -127,13 +130,14 @@ "eventsMapping": [ { "from": "Track Ping", - "to": "ping" + "to": "Lead" } ] }, "result": false, "err": [ - "deduplicationKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\"" + "deduplicationKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"", + " must match \"then\" schema" ] }, { @@ -159,12 +163,15 @@ "eventsMapping": [ { "from": "Track Ping", - "to": "ping" + "to": "Lead" } ] }, "result": false, - "err": ["adAccountId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$\""] + "err": [ + "adAccountId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$\"", + " must match \"then\" schema" + ] }, { "config": { @@ -189,13 +196,14 @@ "eventsMapping": [ { "from": "Track Ping", - "to": "ping" + "to": "Lead" } ] }, "result": false, "err": [ - "conversionToken must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,101})$\"" + "conversionToken must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,101})$\"", + " must match \"then\" schema" ] } ] diff --git a/test/data/validation/destinations/quora_pixel.json b/test/data/validation/destinations/quora_pixel.json index 162099b45..33e337155 100644 --- a/test/data/validation/destinations/quora_pixel.json +++ b/test/data/validation/destinations/quora_pixel.json @@ -5,7 +5,7 @@ "eventsToQPEvents": [ { "from": "Order Completed", - "to": "Initiate Checkout" + "to": "InitiateCheckout" } ], "eventFilteringOption": "disable", @@ -30,7 +30,7 @@ "eventsToQPEvents": [ { "from": "Order Completed", - "to": "Initiate Checkout" + "to": "InitiateCheckout" }, { "from": "Anonymous Page Visit", @@ -38,7 +38,7 @@ }, { "from": "Credit Card Added", - "to": "Add Payment Info" + "to": "AddPaymentInfo" } ], "eventFilteringOption": "whitelistedEvents", @@ -53,7 +53,7 @@ "eventsToQPEvents": [ { "from": "Order Completed", - "to": "Initiate Checkout" + "to": "InitiateCheckout" } ], "eventFilteringOption": "disable", @@ -69,7 +69,7 @@ "eventsToQPEvents": [ { "from": "Order Completed", - "to": "Initiate Checkout" + "to": "InitiateCheckout" } ], "eventFilteringOption": "disable", @@ -84,7 +84,7 @@ "eventsToQPEvents": [ { "from": "Order Completed", - "to": "Initiate Checkout" + "to": "InitiateCheckout" } ], "eventFilteringOption": "disable", diff --git a/test/data/validation/destinations/rs.json b/test/data/validation/destinations/rs.json index 364cc27eb..0e70b6fec 100644 --- a/test/data/validation/destinations/rs.json +++ b/test/data/validation/destinations/rs.json @@ -12,6 +12,7 @@ "useRudderStorage": false, "useSTSTokens": false, "bucketName": "test-bucket", + "roleBasedAuth": false, "accessKeyID": "", "accessKey": "" }, @@ -28,10 +29,12 @@ "syncFrequency": "30", "enableSSE": false, "useRudderStorage": false, + "roleBasedAuth": true, "useSTSTokens": false, "bucketName": "test-bucket", "accessKeyID": "test-access-key-id", - "accessKey": "test-access-key" + "accessKey": "test-access-key", + "iamRoleARN": "fdsf" }, "result": true }, @@ -69,7 +72,12 @@ "roleBasedAuth": true }, "result": false, - "err": [" must have required property 'iamRoleARN'", " must match \"then\" schema"] + "err": [ + "roleBasedAuth must be equal to constant", + " must have required property 'iamRoleARN'", + " must match a schema in anyOf", + " must match \"then\" schema" + ] }, { "config": { @@ -84,12 +92,13 @@ "useRudderStorage": false, "useSTSTokens": false, "bucketName": "{{}}", + "roleBasedAuth": false, "accessKeyID": "test-access-key-id", "accessKey": "test-access-key" }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)\"", + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)\"", " must match \"then\" schema" ] }, @@ -106,6 +115,7 @@ "useRudderStorage": false, "useSTSTokens": false, "bucketName": "{{ TEST_BUCKET }}", + "roleBasedAuth": false, "accessKeyID": "test-access-key-id", "accessKey": "test-access-key" }, @@ -124,13 +134,14 @@ "useRudderStorage": false, "useSTSTokens": false, "syncFrequency": "30", + "roleBasedAuth": false, "bucketName": "ab..ab", "accessKeyID": "test-access-key-id", "accessKey": "test-access-key" }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)\"", + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$|(^\\{\\{.+\\}\\}$)\"", " must match \"then\" schema" ] }, @@ -149,6 +160,7 @@ "useRudderStorage": false, "bucketName": "{{ TEST_BUCKET }}", "prefix": "rudder", + "roleBasedAuth": false, "accessKeyID": "test-access-key-id", "accessKey": "test-access-key", "useSTSTokens": false @@ -174,6 +186,7 @@ "useRudderStorage": false, "bucketName": "{{ TEST_BUCKET }}", "prefix": "rudder", + "roleBasedAuth": false, "accessKeyID": "test-access-key-id", "accessKey": "test-access-key", "useSTSTokens": false diff --git a/test/data/validation/destinations/s3.json b/test/data/validation/destinations/s3.json index a0778242d..b152afda2 100644 --- a/test/data/validation/destinations/s3.json +++ b/test/data/validation/destinations/s3.json @@ -5,6 +5,7 @@ "prefix": "load-GA", "accessKeyID": "test-access-key-id", "accessKey": "test-access-key", + "roleBasedAuth": false, "enableSSE": false }, "result": true @@ -16,6 +17,7 @@ "accessKey": "test-access-key", "enableSSE": true, "testConnection": false, + "roleBasedAuth": false, "testConnectionTS": 1627655059687 }, "result": false, @@ -26,6 +28,7 @@ "bucketName": "iqw.btex.deltalake.production", "accessKeyID": "test-access-key-id", "accessKey": "test-access-key", + "roleBasedAuth": false, "enableSSE": true }, "result": true @@ -34,6 +37,7 @@ "config": { "bucketName": "iqw.btex.deltalake.production", "prefix": "tashforcenonsse/app_events/", + "roleBasedAuth": false, "accessKeyID": "test-access-key-id", "accessKey": "test-access-key" }, @@ -44,6 +48,7 @@ "bucketName": "iqw.btex.deltalake.production", "prefix": ["p1", "p2"], "accessKeyID": "test-access-key-id", + "roleBasedAuth": false, "accessKey": "test-access-key", "enableSSE": false }, @@ -57,6 +62,7 @@ "p1qpqowoeujdjhfsjcbcnfhhruthgdhdhffpoahwbseytxyideodjfwoefhdwofwbqbckjqowjhdbsjhdhdbfdefbvbswdbswvdwvuqvqooiwqdwcwewef", "p2" ], + "roleBasedAuth": false, "accessKeyID": "test-access-key-id", "accessKey": "test-access-key", "enableSSE": false diff --git a/test/data/validation/destinations/s3_datalake.json b/test/data/validation/destinations/s3_datalake.json index f35dd384e..50477f6f3 100644 --- a/test/data/validation/destinations/s3_datalake.json +++ b/test/data/validation/destinations/s3_datalake.json @@ -64,7 +64,7 @@ }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" ] }, { @@ -93,7 +93,7 @@ }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" ] }, { @@ -109,7 +109,7 @@ }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" ] }, { @@ -125,7 +125,7 @@ }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" ] }, { @@ -141,7 +141,7 @@ }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" ] } ] diff --git a/test/data/validation/destinations/sendinblue.json b/test/data/validation/destinations/sendinblue.json index 708b9fd2f..136d25b6a 100644 --- a/test/data/validation/destinations/sendinblue.json +++ b/test/data/validation/destinations/sendinblue.json @@ -83,7 +83,9 @@ }, "result": false, "err": [ - "templateId must match pattern \"(^\\{\\{.*\\|\\|(.*?)\\}\\}$)|(^env[.].+)|^[0-9]+$|^$\"" + "templateId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"", + " must match \"then\" schema", + " must match a schema in anyOf" ] }, { @@ -95,7 +97,11 @@ "redirectionUrl": "https://my.sendinblue.com/" }, "result": false, - "err": ["templateId must be string"] + "err": [ + "templateId must be string", + " must match \"then\" schema", + " must match a schema in anyOf" + ] }, { "config": { @@ -107,7 +113,9 @@ }, "result": false, "err": [ - "redirectionUrl must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$|^$\"" + "redirectionUrl must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$\"", + " must match \"then\" schema", + " must match a schema in anyOf" ] } ] diff --git a/test/data/validation/destinations/shynet.json b/test/data/validation/destinations/shynet.json index ab7eedf51..3096f67e5 100644 --- a/test/data/validation/destinations/shynet.json +++ b/test/data/validation/destinations/shynet.json @@ -29,7 +29,7 @@ "shynetServiceUrl": "" }, "err": [ - "shynetServiceUrl must match pattern \"^(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,300})$\"" + "shynetServiceUrl must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,300})$\"" ] } ] diff --git a/test/data/validation/destinations/snowflake.json b/test/data/validation/destinations/snowflake.json index 59efeb44c..be514ee0f 100644 --- a/test/data/validation/destinations/snowflake.json +++ b/test/data/validation/destinations/snowflake.json @@ -10,6 +10,7 @@ "syncFrequency": "30", "enableSSE": false, "useRudderStorage": false, + "roleBasedAuth": false, "prefix": "test-prefix", "useSTSTokens": false, "bucketName": "test-bucket", @@ -48,6 +49,7 @@ "syncFrequency": "30", "enableSSE": false, "useRudderStorage": false, + "roleBasedAuth": false, "prefix": "test-prefix", "useSTSTokens": false, "bucketName": "test-bucket" @@ -57,7 +59,7 @@ " must have required property 'accessKeyID'", " must have required property 'accessKey'", " must have required property 'iamRoleARN'", - " must have required property 'roleBasedAuth'", + "roleBasedAuth must be equal to constant", " must match a schema in anyOf", " must match \"then\" schema" ] @@ -73,6 +75,7 @@ "syncFrequency": "30", "enableSSE": false, "useRudderStorage": false, + "roleBasedAuth": false, "prefix": "test-prefix", "useSTSTokens": false, "bucketName": "test-bucket", @@ -82,7 +85,7 @@ "err": [ " must have required property 'accessKey'", " must have required property 'iamRoleARN'", - " must have required property 'roleBasedAuth'", + "roleBasedAuth must be equal to constant", " must match a schema in anyOf", " must match \"then\" schema" ] @@ -107,6 +110,7 @@ "err": [ " must have required property 'accessKeyID'", " must have required property 'accessKey'", + "roleBasedAuth must be equal to constant", " must have required property 'iamRoleARN'", " must match a schema in anyOf", " must match \"then\" schema" @@ -124,6 +128,7 @@ "syncFrequency": "30", "enableSSE": false, "useRudderStorage": false, + "roleBasedAuth": false, "prefix": "test-prefix", "useSTSTokens": false, "bucketName": "test-bucket", @@ -142,6 +147,8 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, + "storageIntegration": "gcp_int", "prefix": "", "cloudProvider": "GCP", "bucketName": "test-bucket", @@ -166,6 +173,10 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, + "sasToken": "sas-token", + "useSASTokens": false, + "storageIntegration": "gcp_int", "cloudProvider": "AZURE", "containerName": "test-container", "accountName": "test-account-name", @@ -184,7 +195,9 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, "cloudProvider": "AZURE", + "storageIntegration": "gcp_int", "containerName": "test-container", "accountName": "test-account-name", "accountKey": "test-azure-account-key", @@ -204,7 +217,9 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, "cloudProvider": "AZURE", + "storageIntegration": "gcp_int", "containerName": "test-container", "accountName": "test-account-name", "accountKey": "", @@ -224,7 +239,9 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, "cloudProvider": "AZURE", + "storageIntegration": "gcp_int", "containerName": "test-container", "accountName": "test-account-name", "accountKey": "test-azure-account-key", @@ -244,6 +261,8 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, + "storageIntegration": "gcp_int", "cloudProvider": "AZURE", "containerName": "test-container", "accountName": "test-account-name", @@ -264,6 +283,8 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, + "storageIntegration": "gcp_int", "cloudProvider": "AZURE", "containerName": "test-container", "accountName": "test-account-name", @@ -289,6 +310,8 @@ "cloudProvider": "AWS", "enableSSE": false, "useRudderStorage": false, + "roleBasedAuth": false, + "storageIntegration": "gcp_int", "prefix": "test-prefix", "useSTSTokens": false, "syncFrequency": "30", @@ -298,7 +321,7 @@ }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", " must match \"then\" schema" ] }, @@ -312,9 +335,11 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, "prefix": "test-prefix", "cloudProvider": "GCP", "bucketName": "test..bucket", + "storageIntegration": "gcp_int", "endPoint": "", "useSSL": true, "credentials": "{}", @@ -326,7 +351,7 @@ }, "result": false, "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$\"", + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$\"", " must match \"then\" schema" ] }, @@ -340,16 +365,20 @@ "sslMode": "disable", "syncFrequency": "30", "useRudderStorage": false, + "roleBasedAuth": false, "prefix": "test-prefix", "cloudProvider": "AZURE", "containerName": "test--container", "accountName": "test-account-name", + "useSASTokens": true, + "storageIntegration": "gcp_int", + "sasToken": "sas-token", "accountKey": "test-azure-account-key", "useSSL": true }, "result": false, "err": [ - "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"", + "containerName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"", " must match \"then\" schema" ] } diff --git a/test/data/validation/destinations/tiktok_ads_offline_events.json b/test/data/validation/destinations/tiktok_ads_offline_events.json index c01687f35..0b26387f3 100644 --- a/test/data/validation/destinations/tiktok_ads_offline_events.json +++ b/test/data/validation/destinations/tiktok_ads_offline_events.json @@ -6,15 +6,15 @@ "eventsToStandard": [ { "from": "a", - "to": "a" + "to": "Subscribe" }, { "from": "b", - "to": "b" + "to": "Subscribe" }, { "from": "c", - "to": "c" + "to": "Subscribe" } ] }, @@ -26,15 +26,15 @@ "eventsToStandard": [ { "from": "a", - "to": "a" + "to": "Subscribe" }, { "from": "b", - "to": "b" + "to": "Subscribe" }, { "from": "c", - "to": "c" + "to": "Subscribe" } ] }, diff --git a/test/data/validation/destinations/vero.json b/test/data/validation/destinations/vero.json index 41147699c..75be927e5 100644 --- a/test/data/validation/destinations/vero.json +++ b/test/data/validation/destinations/vero.json @@ -8,7 +8,7 @@ "web": [{ "eventName": "Pin Generated" }, { "eventName": "Pin Expired" }] }, "whitelistedEvents": { "web": [{ "eventName": "" }] }, - "eventFilteringOption": { "web": "blacklistedEvents" }, + "eventFilteringOption": "blacklistedEvents", "oneTrustCookieCategories": [ { "oneTrustCookieCategory": "Sales" }, { "oneTrustCookieCategory": "Marketing" } diff --git a/test/data/validation/destinations/woopra.json b/test/data/validation/destinations/woopra.json index 61ea5ae7d..3deb0705e 100644 --- a/test/data/validation/destinations/woopra.json +++ b/test/data/validation/destinations/woopra.json @@ -30,6 +30,8 @@ "outgoingTracking": true }, "result": false, - "err": ["projectName must match pattern \"^(([a-z0-9]+[.])+[a-z]{1,})$\""] + "err": [ + "projectName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(([a-z0-9]+[.])+[a-z]{1,})$\"" + ] } ] diff --git a/test/data/validation/destinations/yahoo_dsp.json b/test/data/validation/destinations/yahoo_dsp.json index 79eafedfc..75a688944 100644 --- a/test/data/validation/destinations/yahoo_dsp.json +++ b/test/data/validation/destinations/yahoo_dsp.json @@ -71,7 +71,7 @@ "hashRequired": false }, "result": false, - "err": ["audienceType must match pattern \"^(EMAIL|DEVICE_ID|IP_ADDRESS)$\""] + "err": ["audienceType must be equal to one of the allowed values"] }, { "config": { @@ -84,7 +84,11 @@ "hashRequired": false }, "result": false, - "err": ["seedListType must match pattern \"^(GPADVID|IDFA)$\""] + "err": [ + "seedListType must be equal to one of the allowed values", + " must match \"then\" schema", + " must match a schema in anyOf" + ] }, { "config": { @@ -93,6 +97,7 @@ "audienceId": "138383", "accountId": "53421", "audienceType": "DEVICE_ID", + "seedListType": "GPADVID", "hashRequired": "" }, "result": false, diff --git a/test/data/validation/destinations/yandex_metrica.json b/test/data/validation/destinations/yandex_metrica.json index ba8b7ef72..44907ed0a 100644 --- a/test/data/validation/destinations/yandex_metrica.json +++ b/test/data/validation/destinations/yandex_metrica.json @@ -158,7 +158,10 @@ "useNativeSDK": { "web": false } }, "result": false, - "err": ["eventFilteringOption must be string"] + "err": [ + "eventFilteringOption must be string", + "eventFilteringOption must be equal to one of the allowed values" + ] }, { "config": { From 7ceba92661263dcc084d444e6e1d222a32344884 Mon Sep 17 00:00:00 2001 From: Sandeep Digumarty Date: Fri, 11 Aug 2023 12:34:38 +0530 Subject: [PATCH 14/92] fix: updated optimizely_fullstack uiConfig to match the latest mapping component structure (#821) --- .../optimizely_fullstack/ui-config.json | 229 ++++++++++-------- 1 file changed, 132 insertions(+), 97 deletions(-) diff --git a/src/configurations/destinations/optimizely_fullstack/ui-config.json b/src/configurations/destinations/optimizely_fullstack/ui-config.json index 118ec705f..ea26ba828 100644 --- a/src/configurations/destinations/optimizely_fullstack/ui-config.json +++ b/src/configurations/destinations/optimizely_fullstack/ui-config.json @@ -158,103 +158,6 @@ "default": false } ] - }, - { - "title": "RudderStack Page Name/Category to Optimizely event mappings", - "preRequisites": { - "fields": [ - { - "configKey": "connectionModes.cloud", - "value": true - } - ] - }, - "fields": [ - { - "type": "mapping", - "labelLeft": "RudderStack Page Name/Category", - "labelRight": "Optimizely Event Name", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g Index", - "placeholderRight": "e.g Viewed Home Page", - "configKey": "pageMapping", - "default": [], - "preRequisites": { - "fields": [ - { - "configKey": "trackCategorizedPages", - "value": true - }, - { - "configKey": "trackNamedPages", - "value": true - } - ], - "condition": "or" - } - } - ] - } - ] - }, - { - "groups": [ - { - "title": "Track settings", - "icon": "magnifyingGlass", - "preRequisites": { - "fields": [ - { - "configKey": "connectionModes.cloud", - "value": true - } - ] - }, - "fields": [ - { - "type": "mapping", - "labelLeft": "RudderStack Event Name", - "labelRight": "Optimizely Event Name", - "label": "RudderStack to Optimizely event mappings", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g Product Searched", - "placeholderRight": "e.g Searched", - "configKey": "eventMapping", - "default": [] - } - ] - } - ] - }, - { - "groups": [ - { - "title": "Attribute mappings", - "icon": "sliders", - "preRequisites": { - "fields": [ - { - "configKey": "connectionModes.cloud", - "value": true - } - ] - }, - "fields": [ - { - "type": "mapping", - "labelLeft": "RudderStack Attribute Name", - "labelRight": "Optimizely Attribute Name", - "label": "RudderStack to Optimizely attribute mappings", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g firstName", - "placeholderRight": "e.g first_name", - "configKey": "attributeMapping", - "default": [] - } - ] } ] }, @@ -481,6 +384,55 @@ ] } ] + }, + { + "title": "Event mapping", + "note": "Map RudderStack to Optimizely events", + "hideEditIcon": true, + "sections": [ + { + "groups": [ + { + "title": "RudderStack to Optimizely mappings", + "preRequisites": { + "fields": [ + { + "configKey": "connectionModes.cloud", + "value": true + } + ] + }, + "fields": [ + { + "type": "redirect", + "redirectGroupKey": "customEventMapping", + "label": "RudderStack to Optimizely event and attribute mappings", + "note": "Map your RudderStack events/attributes to Optimizely custom events/attributes" + }, + { + "type": "redirect", + "redirectGroupKey": "pageEventMapping", + "label": "RudderStack Page Name/Category to Optimizely event mappings", + "note": "Map your RudderStack page name/Category to Optimizely custom events", + "preRequisites": { + "fields": [ + { + "configKey": "trackCategorizedPages", + "value": true + }, + { + "configKey": "trackNamedPages", + "value": true + } + ], + "condition": "or" + } + } + ] + } + ] + } + ] } ], "sdkTemplate": { @@ -501,6 +453,89 @@ "default": true } ] + }, + "redirectGroups": { + "customEventMapping": { + "tabs": [ + { + "name": "Custom track events", + "fields": [ + { + "type": "mapping", + "label": "Map your RudderStack events to Optimizely events for Track events", + "note": "Map RudderStack events/properties to Optimizely custom events/properties using either our mapping interface or JSON text editor. Learn more about mappings in our docs.", + "configKey": "eventMapping", + "default": [], + "columns": [ + { + "type": "textInput", + "key": "from", + "label": "RudderStack Event", + "placeholder": "e.g: Product Searched" + }, + { + "type": "textInput", + "key": "to", + "label": "Optimizely Event", + "placeholder": "e.g: Searched" + } + ] + } + ] + }, + { + "name": "Custom attributes", + "fields": [ + { + "type": "mapping", + "label": "Map your RudderStack attributes to Optimizely attributes", + "note": "Map RudderStack attributes to Optimizely custom attributes using either our mapping interface or JSON text editor. Learn more about mappings in our docs.", + "configKey": "attributeMapping", + "default": [], + "columns": [ + { + "type": "textInput", + "key": "from", + "label": "RudderStack Attribute", + "placeholder": "e.g: firstName" + }, + { + "type": "textInput", + "key": "to", + "label": "Optimizely Attribute", + "placeholder": "e.g: first_name" + } + ] + } + ] + } + ] + }, + "pageEventMapping": { + "fields": [ + { + "type": "mapping", + "label": "Map your RudderStack Page Name/Category to Optimizely events", + "note": "Map RudderStack Page Name/Category to Optimizely events using either our mapping interface or JSON text editor. Learn more about mappings in our docs.", + "configKey": "pageMapping", + "default": [], + "columns": [ + { + "type": "textInput", + "key": "from", + "label": "RudderStack Page Name/Category", + "placeholder": "e.g: Index" + }, + { + "type": "textInput", + "key": "to", + "label": "Optimizely Event", + "placeholder": "e.g: Viewed Home Page" + } + ] + } + ] + } } } } From 216f1869649d203a5c3a5112ae8733a628368412 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 11 Aug 2023 07:05:46 +0000 Subject: [PATCH 15/92] chore(release): 1.44.2 --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b518457d5..f0ddf56e7 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.44.2](https://github.com/rudderlabs/rudder-config-schema/compare/v1.44.1...v1.44.2) (2023-08-11) + + +### Bug Fixes + +* updated optimizely_fullstack uiConfig to match the latest mapping component structure ([#821](https://github.com/rudderlabs/rudder-config-schema/issues/821)) ([7ceba92](https://github.com/rudderlabs/rudder-config-schema/commit/7ceba92661263dcc084d444e6e1d222a32344884)) + ### [1.44.1](https://github.com/rudderlabs/rudder-config-schema/compare/v1.44.0...v1.44.1) (2023-08-08) diff --git a/package-lock.json b/package-lock.json index a1e1f8ed2..0ea87b65d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.44.1", + "version": "1.44.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.44.1", + "version": "1.44.2", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index ca44ae6b9..ced26fc35 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.44.1", + "version": "1.44.2", "description": "", "main": "src/index.ts", "private": true, From 51329ccdfcc97d3f0b0f99be76acb99ef4270b43 Mon Sep 17 00:00:00 2001 From: Gauravudia <60897972+Gauravudia@users.noreply.github.com> Date: Mon, 14 Aug 2023 12:02:40 +0530 Subject: [PATCH 16/92] feat(zendesk): add source name setting (#825) --- .../destinations/zendesk/db-config.json | 3 ++- .../destinations/zendesk/schema.json | 20 +++++++++++++++---- .../destinations/zendesk/ui-config.json | 10 ++++++++++ .../data/validation/destinations/zendesk.json | 15 +++++++++++++- 4 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/configurations/destinations/zendesk/db-config.json b/src/configurations/destinations/zendesk/db-config.json index e3955fd2f..16e3f2cc3 100644 --- a/src/configurations/destinations/zendesk/db-config.json +++ b/src/configurations/destinations/zendesk/db-config.json @@ -30,7 +30,8 @@ "sendGroupCallsWithoutUserId", "removeUsersFromOrganization", "searchByExternalId", - "oneTrustCookieCategories" + "oneTrustCookieCategories", + "sourceName" ] }, "secretKeys": ["apiToken"] diff --git a/src/configurations/destinations/zendesk/schema.json b/src/configurations/destinations/zendesk/schema.json index 47acc678a..3bc064fd6 100644 --- a/src/configurations/destinations/zendesk/schema.json +++ b/src/configurations/destinations/zendesk/schema.json @@ -17,10 +17,22 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "createUsersAsVerified": { "type": "boolean" }, - "sendGroupCallsWithoutUserId": { "type": "boolean" }, - "removeUsersFromOrganization": { "type": "boolean" }, - "searchByExternalId": { "type": "boolean" }, + "sourceName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "createUsersAsVerified": { + "type": "boolean" + }, + "sendGroupCallsWithoutUserId": { + "type": "boolean" + }, + "removeUsersFromOrganization": { + "type": "boolean" + }, + "searchByExternalId": { + "type": "boolean" + }, "oneTrustCookieCategories": { "type": "array", "items": { diff --git a/src/configurations/destinations/zendesk/ui-config.json b/src/configurations/destinations/zendesk/ui-config.json index 4a61ed791..0aea6f4c3 100644 --- a/src/configurations/destinations/zendesk/ui-config.json +++ b/src/configurations/destinations/zendesk/ui-config.json @@ -31,6 +31,16 @@ "required": true, "placeholder": "Subdomain only not including .zendesk.com" }, + { + "type": "textInput", + "label": "Source Name", + "value": "sourceName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", + "regexErrorMessage": "Invalid Source", + "required": false, + "placeholder": "e.g: Rudder", + "footerNote": "Specify the source for the events. If not specified, the source is set to `Rudder` by default." + }, { "type": "checkbox", "label": "Create users as verified", diff --git a/test/data/validation/destinations/zendesk.json b/test/data/validation/destinations/zendesk.json index 25ce04825..602cf04e1 100644 --- a/test/data/validation/destinations/zendesk.json +++ b/test/data/validation/destinations/zendesk.json @@ -6,7 +6,20 @@ "domain": "coover", "createUsersAsVerified": true, "sendGroupCallsWithoutUserId": false, - "removeUsersFromOrganization": false + "removeUsersFromOrganization": false, + "sourceName": "abc" + }, + "result": true + }, + { + "config": { + "email": "rodrigo@coover.me", + "apiToken": "WpUn4Q6xTqXwvKUGDVcbWY7HxmUoOdEBvKIIOKP3", + "domain": "coover", + "createUsersAsVerified": true, + "sendGroupCallsWithoutUserId": false, + "removeUsersFromOrganization": false, + "sourceName": "" }, "result": true }, From 6910615508d06ba21d001bc1484f22479d5dc542 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 14 Aug 2023 09:09:23 +0000 Subject: [PATCH 17/92] chore(release): 1.45.0 --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0ddf56e7..47261c06e 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.45.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.44.2...v1.45.0) (2023-08-14) + + +### Features + +* **zendesk:** add source name setting ([#825](https://github.com/rudderlabs/rudder-config-schema/issues/825)) ([51329cc](https://github.com/rudderlabs/rudder-config-schema/commit/51329ccdfcc97d3f0b0f99be76acb99ef4270b43)) + ### [1.44.2](https://github.com/rudderlabs/rudder-config-schema/compare/v1.44.1...v1.44.2) (2023-08-11) diff --git a/package-lock.json b/package-lock.json index 0ea87b65d..f40596e5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.44.2", + "version": "1.45.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.44.2", + "version": "1.45.0", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index ced26fc35..0d57fb24b 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.44.2", + "version": "1.45.0", "description": "", "main": "src/index.ts", "private": true, 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 18/92] 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 27d6b6426f8cd44c95ed196863939a14f1f62936 Mon Sep 17 00:00:00 2001 From: devops-github-rudderstack <88187154+devops-github-rudderstack@users.noreply.github.com> Date: Wed, 16 Aug 2023 06:13:54 -0500 Subject: [PATCH 19/92] chore(release): pull hotfix-release/v1.45.1 into main (#834) Co-authored-by: shrouti1507 <60211312+shrouti1507@users.noreply.github.com> Co-authored-by: Mihir Bhalala <77438541+mihir-4116@users.noreply.github.com> Co-authored-by: GitHub Actions --- CHANGELOG.md | 8 ++ package-lock.json | 4 +- package.json | 2 +- .../bingads_audience/db-config.json | 4 +- .../destinations/dcm_floodlight/schema.json | 91 ++++++++++++++----- .../dcm_floodlight/ui-config.json | 8 +- .../marketo_bulk_upload/db-config.json | 1 + .../destinations/dcm_floodlight.json | 34 +------ 8 files changed, 88 insertions(+), 64 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47261c06e..d12faab7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ 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.45.1](https://github.com/rudderlabs/rudder-config-schema/compare/v1.45.0...v1.45.1) (2023-08-16) + + +### Bug Fixes + +* **dcmfloodlight:** schema issue ([#833](https://github.com/rudderlabs/rudder-config-schema/issues/833)) ([9f8cede](https://github.com/rudderlabs/rudder-config-schema/commit/9f8cede260f4fd9619609a7fdc6e1500d20d6fc6)) +* make bingAds aud visible and add message type to marketo bulk upload ([#832](https://github.com/rudderlabs/rudder-config-schema/issues/832)) ([e8b0435](https://github.com/rudderlabs/rudder-config-schema/commit/e8b0435aae6b71d59e977ce8e56762a5e3ae0e18)) + ## [1.45.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.44.2...v1.45.0) (2023-08-14) diff --git a/package-lock.json b/package-lock.json index f40596e5d..73ac526d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.45.0", + "version": "1.45.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.45.0", + "version": "1.45.1", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 0d57fb24b..1035f001d 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.45.0", + "version": "1.45.1", "description": "", "main": "src/index.ts", "private": true, diff --git a/src/configurations/destinations/bingads_audience/db-config.json b/src/configurations/destinations/bingads_audience/db-config.json index 87857beda..04128c627 100644 --- a/src/configurations/destinations/bingads_audience/db-config.json +++ b/src/configurations/destinations/bingads_audience/db-config.json @@ -30,7 +30,5 @@ ] } }, - "options": { - "hidden": true - } + "options": { "isBeta": true } } diff --git a/src/configurations/destinations/dcm_floodlight/schema.json b/src/configurations/destinations/dcm_floodlight/schema.json index cd75bfb84..f9a0b5fc0 100644 --- a/src/configurations/destinations/dcm_floodlight/schema.json +++ b/src/configurations/destinations/dcm_floodlight/schema.json @@ -2,7 +2,9 @@ "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - "required": ["advertiserId"], + "required": [ + "advertiserId" + ], "properties": { "advertiserId": { "type": "string", @@ -33,7 +35,10 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "salesTag": { "type": "boolean" }, + "salesTag": { + "type": "boolean", + "default": false + }, "customVariables": { "type": "array", "items": { @@ -45,7 +50,7 @@ }, "to": { "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } } } @@ -53,9 +58,68 @@ } } }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "tagFormat": { + "type": "object", + "properties": { + "web": { + "type": "string", + "enum": [ + "globalSiteTag", + "iframeTag" + ], + "default": "globalSiteTag" + } + } + }, + "conversionLinker": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "allowAdPersonalizationSignals": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "doubleclickId": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "googleNetworkId": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + }, "eventFilteringOption": { "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + "enum": [ + "disable", + "whitelistedEvents", + "blacklistedEvents" + ], + "default": "disable" }, "whitelistedEvents": { "type": "array", @@ -81,23 +145,6 @@ } } }, - "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "tagFormat": { "type": "string", "pattern": "(^env[.].+)|^(globalSiteTag|iframeTag)$" }, - "conversionLinker": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "allowAdPersonalizationSignals": { - "type": "object", - "properties": { "web": { "type": "boolean" } } - }, - "doubleclickId": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "googleNetworkId": { - "type": "object", - "properties": { - "web": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - }, "oneTrustCookieCategories": { "type": "array", "items": { @@ -112,4 +159,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/dcm_floodlight/ui-config.json b/src/configurations/destinations/dcm_floodlight/ui-config.json index 3d5a83f83..28a5b1c33 100644 --- a/src/configurations/destinations/dcm_floodlight/ui-config.json +++ b/src/configurations/destinations/dcm_floodlight/ui-config.json @@ -17,7 +17,7 @@ "type": "textInput", "label": "Activity Tag", "value": "activityTag", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g. signu0", "secret": false, @@ -27,7 +27,7 @@ "type": "textInput", "label": "Group Tag", "value": "groupTag", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "placeholder": "e.g. conv01", "secret": false, @@ -136,7 +136,7 @@ "type": "textInput", "label": "Google Network Id", "value": "googleNetworkId", - "regex": ".*", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "required": false, "footerNote": "Network ID (NID) for the bidder account" } @@ -217,4 +217,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/src/configurations/destinations/marketo_bulk_upload/db-config.json b/src/configurations/destinations/marketo_bulk_upload/db-config.json index 62b0918bb..413807f10 100644 --- a/src/configurations/destinations/marketo_bulk_upload/db-config.json +++ b/src/configurations/destinations/marketo_bulk_upload/db-config.json @@ -20,6 +20,7 @@ "warehouse", "shopify" ], + "supportedMessageTypes": ["identify"], "destConfig": { "defaultConfig": [ "clientId", diff --git a/test/data/validation/destinations/dcm_floodlight.json b/test/data/validation/destinations/dcm_floodlight.json index 752d2691f..1961e60c3 100644 --- a/test/data/validation/destinations/dcm_floodlight.json +++ b/test/data/validation/destinations/dcm_floodlight.json @@ -26,36 +26,6 @@ }, "result": true }, - { - "config": { - "advertiserId": "22448662", - "activityTag": "", - "groupTag": "", - "conversionEvents": [ - { - "eventName": "Product viewed", - "floodlightActivityTag": "signu01", - "floodlightGroupTag": "conv01", - "salesTag": false, - "customVariables": [ - { "from": "RudderstackProperty1", "to": "u1" }, - { "from": "RudderstackProperty2", "to": "2" } - ] - }, - { - "eventName": "Order Complete", - "floodlightActivityTag": "signu01", - "floodlightGroupTag": "conv02", - "salesTag": false, - "customVariables": [{ "from": "", "to": "" }] - } - ] - }, - "result": false, - "err": [ - "conversionEvents.0.customVariables.0.to must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$\"" - ] - }, { "config": { "advertiserId": "12AUXUS123", @@ -116,7 +86,7 @@ "useNativeSDK": { "web": true }, "conversionLinker": { "web": true }, "allowAdPersonalizationSignals": { "web": true }, - "tagFormat": "globalSiteTag", + "tagFormat": {"web": "globalSiteTag"}, "doubleclickId": { "web": true }, "googleNetworkId": { "web": "1234" }, "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "" }] @@ -153,7 +123,7 @@ "useNativeSDK": { "web": false }, "conversionLinker": { "web": true }, "allowAdPersonalizationSignals": { "web": true }, - "tagFormat": "iframeTag", + "tagFormat": {"web": "iframeTag"}, "doubleclickId": { "web": false }, "googleNetworkId": { "web": "1234" }, "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "" }] From 7b93ebb29ae2a100dec0ab069a7ce925b932c456 Mon Sep 17 00:00:00 2001 From: Vikas26021999 <79831638+Vikas26021999@users.noreply.github.com> Date: Wed, 16 Aug 2023 20:15:37 +0530 Subject: [PATCH 20/92] fix: enabling mirror mode for databricks rETL (#837) --- src/configurations/sources/databricks/db-config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/configurations/sources/databricks/db-config.json b/src/configurations/sources/databricks/db-config.json index b5c680739..c49a00f77 100644 --- a/src/configurations/sources/databricks/db-config.json +++ b/src/configurations/sources/databricks/db-config.json @@ -4,7 +4,8 @@ "displayName": "Databricks", "options": { "syncBehaviours": [ - "upsert" + "upsert", + "mirror" ], "isSqlModelSupported": true, "hidden": true From 316a0deffd1ddc1d63231874c35e98df8e248c27 Mon Sep 17 00:00:00 2001 From: Vikas26021999 <79831638+Vikas26021999@users.noreply.github.com> Date: Wed, 16 Aug 2023 20:37:18 +0530 Subject: [PATCH 21/92] fix: catalog for databricks (#840) --- src/configurations/sources/databricks/ui-config.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/configurations/sources/databricks/ui-config.json b/src/configurations/sources/databricks/ui-config.json index 4f8d7c2e0..a19b6902f 100644 --- a/src/configurations/sources/databricks/ui-config.json +++ b/src/configurations/sources/databricks/ui-config.json @@ -50,6 +50,16 @@ "required": true, "addInAccountSummary": false, "secret": true + }, + { + "type": "textInput", + "label": "Catalog", + "value": "catalog", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": false, + "addInAccountSummary": true, + "trim": true } ] } From 5020408e8e3d2438236f38e1dee565e34196fec1 Mon Sep 17 00:00:00 2001 From: Vikas26021999 <79831638+Vikas26021999@users.noreply.github.com> Date: Wed, 16 Aug 2023 20:37:32 +0530 Subject: [PATCH 22/92] fix: releasing databricks to all customers (#839) --- 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 c49a00f77..724884e4a 100644 --- a/src/configurations/sources/databricks/db-config.json +++ b/src/configurations/sources/databricks/db-config.json @@ -8,7 +8,7 @@ "mirror" ], "isSqlModelSupported": true, - "hidden": true + "hidden": false }, "type": "warehouse" } From 2266adca8e72c3e8c96612b861f58c0b2fe83801 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 16 Aug 2023 15:10:36 +0000 Subject: [PATCH 23/92] chore(release): 1.45.2 --- CHANGELOG.md | 9 +++++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d12faab7c..6d66da7d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ 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.45.2](https://github.com/rudderlabs/rudder-config-schema/compare/v1.45.1...v1.45.2) (2023-08-16) + + +### Bug Fixes + +* catalog for databricks ([#840](https://github.com/rudderlabs/rudder-config-schema/issues/840)) ([316a0de](https://github.com/rudderlabs/rudder-config-schema/commit/316a0deffd1ddc1d63231874c35e98df8e248c27)) +* enabling mirror mode for databricks rETL ([#837](https://github.com/rudderlabs/rudder-config-schema/issues/837)) ([7b93ebb](https://github.com/rudderlabs/rudder-config-schema/commit/7b93ebb29ae2a100dec0ab069a7ce925b932c456)) +* releasing databricks to all customers ([#839](https://github.com/rudderlabs/rudder-config-schema/issues/839)) ([5020408](https://github.com/rudderlabs/rudder-config-schema/commit/5020408e8e3d2438236f38e1dee565e34196fec1)) + ### [1.45.1](https://github.com/rudderlabs/rudder-config-schema/compare/v1.45.0...v1.45.1) (2023-08-16) diff --git a/package-lock.json b/package-lock.json index 73ac526d2..69d25b683 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.45.1", + "version": "1.45.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.45.1", + "version": "1.45.2", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 1035f001d..3c4ad8cd3 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.45.1", + "version": "1.45.2", "description": "", "main": "src/index.ts", "private": true, From 85132bb3328468837c85e4225a8a290bc8ed7d6a Mon Sep 17 00:00:00 2001 From: Yashasvi Bajpai <33063622+yashasvibajpai@users.noreply.github.com> Date: Thu, 17 Aug 2023 10:23:35 +0530 Subject: [PATCH 24/92] feat: add support for test events for Pinterest (#811) --- .../destinations/pinterest_tag/db-config.json | 1 + src/configurations/destinations/pinterest_tag/schema.json | 1 + .../destinations/pinterest_tag/ui-config.json | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/src/configurations/destinations/pinterest_tag/db-config.json b/src/configurations/destinations/pinterest_tag/db-config.json index 495881103..944a64ef4 100644 --- a/src/configurations/destinations/pinterest_tag/db-config.json +++ b/src/configurations/destinations/pinterest_tag/db-config.json @@ -42,6 +42,7 @@ "advertiserId", "apiVersion", "adAccountId", + "sendAsTestEvent", "conversionToken", "sendingUnHashedData", "enableDeduplication", diff --git a/src/configurations/destinations/pinterest_tag/schema.json b/src/configurations/destinations/pinterest_tag/schema.json index 6b71c7877..fdf60deed 100644 --- a/src/configurations/destinations/pinterest_tag/schema.json +++ b/src/configurations/destinations/pinterest_tag/schema.json @@ -12,6 +12,7 @@ "enhancedMatch": { "type": "boolean", "default": true }, "sendExternalId": { "type": "boolean", "default": false }, "sendAsCustomEvent": { "type": "boolean", "default": false }, + "sendAsTestEvent": { "type": "boolean", "default": false }, "customProperties": { "type": "array", "items": { diff --git a/src/configurations/destinations/pinterest_tag/ui-config.json b/src/configurations/destinations/pinterest_tag/ui-config.json index 67fe4e379..ff5d91894 100644 --- a/src/configurations/destinations/pinterest_tag/ui-config.json +++ b/src/configurations/destinations/pinterest_tag/ui-config.json @@ -90,6 +90,13 @@ { "title": "Other Settings", "fields": [ + { + "type": "checkbox", + "label": "Send as a test event", + "value": "sendAsTestEvent", + "default": false, + "footerNote": "Send the request as a test request. The events will not be recorded" + }, { "type": "checkbox", "label": "Enable hashing for user data conversions", From ea713323c6e15ca217cf8b6e7e57766da1a792b1 Mon Sep 17 00:00:00 2001 From: Yashasvi Bajpai <33063622+yashasvibajpai@users.noreply.github.com> Date: Thu, 17 Aug 2023 13:30:15 +0530 Subject: [PATCH 25/92] chore: cleanup unused sdk includeKeys (#783) Co-authored-by: Ujjwal Abhishek <63387036+ujjwal-ab@users.noreply.github.com> --- src/configurations/destinations/am/db-config.json | 4 +--- src/configurations/destinations/bugsnag/db-config.json | 3 +-- src/configurations/destinations/clevertap/db-config.json | 2 -- .../destinations/facebook_pixel/db-config.json | 1 - src/configurations/destinations/lemnisk/db-config.json | 8 -------- src/configurations/destinations/lytics/db-config.json | 1 - src/configurations/destinations/mp/db-config.json | 1 - .../destinations/pinterest_tag/db-config.json | 2 -- src/configurations/destinations/sendinblue/db-config.json | 4 ---- src/configurations/destinations/tiktok_ads/db-config.json | 5 ----- src/configurations/destinations/vero/db-config.json | 1 - 11 files changed, 2 insertions(+), 30 deletions(-) diff --git a/src/configurations/destinations/am/db-config.json b/src/configurations/destinations/am/db-config.json index 6b538aee0..ed28cb890 100644 --- a/src/configurations/destinations/am/db-config.json +++ b/src/configurations/destinations/am/db-config.json @@ -41,9 +41,7 @@ "oneTrustCookieCategories", "eventFilteringOption", "mapDeviceBrand", - "residencyServer", - "userProvidedPageEventString", - "useUserDefinedPageEventName" + "residencyServer" ], "excludeKeys": [], "supportedSourceTypes": [ diff --git a/src/configurations/destinations/bugsnag/db-config.json b/src/configurations/destinations/bugsnag/db-config.json index 799687cbd..1ae295ac7 100644 --- a/src/configurations/destinations/bugsnag/db-config.json +++ b/src/configurations/destinations/bugsnag/db-config.json @@ -8,7 +8,6 @@ "includeKeys": [ "apiKey", "releaseStage", - "ssl", "blacklistedEvents", "whitelistedEvents", "oneTrustCookieCategories", @@ -26,7 +25,7 @@ ], "android": ["useNativeSDK"], "ios": ["useNativeSDK"], - "web": ["useNativeSDK", "releaseStage", "ssl"] + "web": ["useNativeSDK", "releaseStage"] }, "secretKeys": ["apiKey"] } diff --git a/src/configurations/destinations/clevertap/db-config.json b/src/configurations/destinations/clevertap/db-config.json index baf9768d4..24ad48eb1 100644 --- a/src/configurations/destinations/clevertap/db-config.json +++ b/src/configurations/destinations/clevertap/db-config.json @@ -10,8 +10,6 @@ "accountToken", "passcode", "region", - "trackAnonymous", - "enableObjectIdMapping", "blacklistedEvents", "whitelistedEvents", "oneTrustCookieCategories", diff --git a/src/configurations/destinations/facebook_pixel/db-config.json b/src/configurations/destinations/facebook_pixel/db-config.json index 459ab86e5..0f29c07a2 100644 --- a/src/configurations/destinations/facebook_pixel/db-config.json +++ b/src/configurations/destinations/facebook_pixel/db-config.json @@ -18,7 +18,6 @@ "whitelistedEvents", "oneTrustCookieCategories", "eventFilteringOption", - "removeExternalId", "useUpdatedMapping", "ketchConsentPurposes" ], diff --git a/src/configurations/destinations/lemnisk/db-config.json b/src/configurations/destinations/lemnisk/db-config.json index bd28589f8..bb556efee 100644 --- a/src/configurations/destinations/lemnisk/db-config.json +++ b/src/configurations/destinations/lemnisk/db-config.json @@ -6,14 +6,6 @@ "transformAtV1": "processor", "saveDestinationResponse": true, "includeKeys": [ - "apiKey", - "passKey", - "cloudMode", - "diapi", - "pl", - "diapiWriteKey", - "plWriteKey", - "srcId", "sdkWriteKey", "accountId", "whitelistedEvents", diff --git a/src/configurations/destinations/lytics/db-config.json b/src/configurations/destinations/lytics/db-config.json index 418b21bb4..bdbdf67db 100644 --- a/src/configurations/destinations/lytics/db-config.json +++ b/src/configurations/destinations/lytics/db-config.json @@ -8,7 +8,6 @@ "saveDestinationResponse": true, "includeKeys": [ "accountId", - "apiKey", "stream", "blockload", "loadid", diff --git a/src/configurations/destinations/mp/db-config.json b/src/configurations/destinations/mp/db-config.json index e2f4d340a..a6c06d36a 100644 --- a/src/configurations/destinations/mp/db-config.json +++ b/src/configurations/destinations/mp/db-config.json @@ -27,7 +27,6 @@ "whitelistedEvents", "oneTrustCookieCategories", "eventFilteringOption", - "useNewMapping", "identityMergeApi" ], "excludeKeys": [], diff --git a/src/configurations/destinations/pinterest_tag/db-config.json b/src/configurations/destinations/pinterest_tag/db-config.json index 944a64ef4..2facb5588 100644 --- a/src/configurations/destinations/pinterest_tag/db-config.json +++ b/src/configurations/destinations/pinterest_tag/db-config.json @@ -8,8 +8,6 @@ "saveDestinationResponse": false, "includeKeys": [ "tagId", - "advertiserId", - "appId", "customProperties", "sendAsCustomEvent", "eventsMapping", diff --git a/src/configurations/destinations/sendinblue/db-config.json b/src/configurations/destinations/sendinblue/db-config.json index 5ea56dec5..15dc610b9 100644 --- a/src/configurations/destinations/sendinblue/db-config.json +++ b/src/configurations/destinations/sendinblue/db-config.json @@ -6,11 +6,7 @@ "transformAtV1": "router", "saveDestinationResponse": true, "includeKeys": [ - "apiKey", "clientKey", - "doi", - "templateId", - "redirectionUrl", "contactAttributeMapping", "sendTraitsInTrack", "whitelistedEvents", diff --git a/src/configurations/destinations/tiktok_ads/db-config.json b/src/configurations/destinations/tiktok_ads/db-config.json index 22ace4488..233f9ad31 100644 --- a/src/configurations/destinations/tiktok_ads/db-config.json +++ b/src/configurations/destinations/tiktok_ads/db-config.json @@ -6,7 +6,6 @@ "transformAtV1": "router", "saveDestinationResponse": true, "includeKeys": [ - "accessToken", "pixelCode", "hashUserProperties", "eventsToStandard", @@ -14,10 +13,6 @@ "whitelistedEvents", "eventFilteringOption", "oneTrustCookieCategories", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption", "ketchConsentPurposes" ], "excludeKeys": [], diff --git a/src/configurations/destinations/vero/db-config.json b/src/configurations/destinations/vero/db-config.json index 7c6029a41..64d167d50 100644 --- a/src/configurations/destinations/vero/db-config.json +++ b/src/configurations/destinations/vero/db-config.json @@ -7,7 +7,6 @@ "saveDestinationResponse": true, "includeKeys": [ "apiKey", - "authToken", "blacklistedEvents", "whitelistedEvents", "eventFilteringOption", From c8dbf4918872acf01abce141e14d107ae2f4b873 Mon Sep 17 00:00:00 2001 From: Yashasvi Bajpai <33063622+yashasvibajpai@users.noreply.github.com> Date: Thu, 17 Aug 2023 13:53:44 +0530 Subject: [PATCH 26/92] feat(INT-151): moving clevertap to router (#831) Co-authored-by: shrouti1507 <60211312+shrouti1507@users.noreply.github.com> --- src/configurations/destinations/clevertap/db-config.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/configurations/destinations/clevertap/db-config.json b/src/configurations/destinations/clevertap/db-config.json index 24ad48eb1..6fcb274ab 100644 --- a/src/configurations/destinations/clevertap/db-config.json +++ b/src/configurations/destinations/clevertap/db-config.json @@ -2,8 +2,8 @@ "name": "CLEVERTAP", "displayName": "CleverTap", "config": { - "transformAt": "processor", - "transformAtV1": "processor", + "transformAt": "router", + "transformAtV1": "router", "saveDestinationResponse": true, "includeKeys": [ "accountId", From 34e07a189f7899c850d4ab14de14bb6b0bc1ac82 Mon Sep 17 00:00:00 2001 From: Sudip Paul <67197965+ItsSudip@users.noreply.github.com> Date: Fri, 18 Aug 2023 08:30:07 +0530 Subject: [PATCH 27/92] feat: enable blueshift for rETL (#842) --- src/configurations/destinations/blueshift/db-config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/configurations/destinations/blueshift/db-config.json b/src/configurations/destinations/blueshift/db-config.json index 67b193108..e3b6a2696 100644 --- a/src/configurations/destinations/blueshift/db-config.json +++ b/src/configurations/destinations/blueshift/db-config.json @@ -13,7 +13,8 @@ "web", "cloud", "mobile", - "shopify" + "shopify", + "warehouse" ], "supportedMessageTypes": [ "identify", From b2ddb5d9a7afd8ce87d8840b6f55801dfe49d49a Mon Sep 17 00:00:00 2001 From: Yashasvi Bajpai <33063622+yashasvibajpai@users.noreply.github.com> Date: Fri, 18 Aug 2023 12:27:54 +0530 Subject: [PATCH 28/92] feat(INT-319): update label to support v2 api token (#829) --- src/configurations/destinations/af/ui-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/destinations/af/ui-config.json b/src/configurations/destinations/af/ui-config.json index fd8399041..977623532 100644 --- a/src/configurations/destinations/af/ui-config.json +++ b/src/configurations/destinations/af/ui-config.json @@ -135,7 +135,7 @@ "value": "apiToken", "placeholder": "c81aaf36-8323-4bb6-b5a8-asdfasdfas4f3c", "secret": true, - "footerNote": "Provide your V1.0 API Token." + "footerNote": "Provide your V2.0 API Token." } ] }, From 3a2b3e191b657b7d2bb2629c6ac882f557c054e4 Mon Sep 17 00:00:00 2001 From: ujjwal-ab Date: Fri, 18 Aug 2023 14:41:04 +0530 Subject: [PATCH 29/92] feat: add flattenproperty field --- .../destinations/klaviyo/db-config.json | 1 + src/configurations/destinations/klaviyo/schema.json | 11 +++-------- .../destinations/klaviyo/ui-config.json | 6 ++++++ test/data/validation/destinations/klaviyo.json | 4 ++++ 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/configurations/destinations/klaviyo/db-config.json b/src/configurations/destinations/klaviyo/db-config.json index 96befb673..36696165c 100644 --- a/src/configurations/destinations/klaviyo/db-config.json +++ b/src/configurations/destinations/klaviyo/db-config.json @@ -40,6 +40,7 @@ "publicApiKey", "privateApiKey", "consent", + "flattenProperties", "listId", "enforceEmailAsPrimary", "blacklistedEvents", diff --git a/src/configurations/destinations/klaviyo/schema.json b/src/configurations/destinations/klaviyo/schema.json index f5d19e2e2..058371bf6 100644 --- a/src/configurations/destinations/klaviyo/schema.json +++ b/src/configurations/destinations/klaviyo/schema.json @@ -16,14 +16,7 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "consent": { - "type": "array", - "items": { - "type": "string", - "enum": ["email", "sms"] - }, - "default": ["email"] - }, + "flattenProperties": { "type": "boolean", "default": false }, "enforceEmailAsPrimary": { "type": "boolean", "default": false }, "eventFilteringOption": { "type": "string", @@ -66,6 +59,8 @@ } } }, + "sendPageAsTrack": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "additionalPageInfo": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "useNativeSDK": { "type": "object", "properties": { "web": { "type": "boolean" } } }, "connectionMode": { "type": "object", diff --git a/src/configurations/destinations/klaviyo/ui-config.json b/src/configurations/destinations/klaviyo/ui-config.json index 6de8ab27e..40d005f3c 100644 --- a/src/configurations/destinations/klaviyo/ui-config.json +++ b/src/configurations/destinations/klaviyo/ui-config.json @@ -94,6 +94,12 @@ } ], "default": ["email"] + }, + { + "type": "checkbox", + "label": "Enable this to flatten user/event properties", + "configKey": "flattenProperties", + "default": false } ] }, diff --git a/test/data/validation/destinations/klaviyo.json b/test/data/validation/destinations/klaviyo.json index 2b964ac20..0b04dd619 100644 --- a/test/data/validation/destinations/klaviyo.json +++ b/test/data/validation/destinations/klaviyo.json @@ -4,6 +4,7 @@ "publicApiKey": "fsdf", "listId": "ior6v5j", "enforceEmailAsPrimary": true, + "flattenProperties": true, "consent": ["email", "sms"], "sendPageAsTrack": { "web": true @@ -28,6 +29,7 @@ "publicApiKey": "fsdf", "privateApiKey": "WfO9f1", "listId": "ior6v5j", + "flattenProperties": false, "enforceEmailAsPrimary": true, "consent": ["sms"], "sendPageAsTrack": { @@ -53,6 +55,7 @@ "publicApiKey": "fsdf", "privateApiKey": "WfO9f1", "listId": 4443, + "flattenProperties": false, "enforceEmailAsPrimary": true, "consent": ["sms"], "useNativeSDK": { "web": false }, @@ -79,6 +82,7 @@ "privateApiKey": "WfO9dsffsf1", "listId": "ior6v5j", "enforceEmailAsPrimary": true, + "flattenProperties": false, "consent": ["email"], "smsConsent": false, "sendPageAsTrack": { From 421d7c94d9533b85f4884b3da182da6e3865c403 Mon Sep 17 00:00:00 2001 From: ujjwal-ab Date: Fri, 18 Aug 2023 16:39:23 +0530 Subject: [PATCH 30/92] fix: re-add removed schema for consent --- src/configurations/destinations/klaviyo/schema.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/configurations/destinations/klaviyo/schema.json b/src/configurations/destinations/klaviyo/schema.json index 058371bf6..8aecd4ad8 100644 --- a/src/configurations/destinations/klaviyo/schema.json +++ b/src/configurations/destinations/klaviyo/schema.json @@ -17,6 +17,14 @@ "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, "flattenProperties": { "type": "boolean", "default": false }, + "consent": { + "type": "array", + "items": { + "type": "string", + "enum": ["email", "sms"] + }, + "default": ["email"] + }, "enforceEmailAsPrimary": { "type": "boolean", "default": false }, "eventFilteringOption": { "type": "string", From 3d7c9e7525e4c7e107aeaf9e52dbc1739d92f2a8 Mon Sep 17 00:00:00 2001 From: ujjwal-ab Date: Fri, 18 Aug 2023 18:22:57 +0530 Subject: [PATCH 31/92] fix: add flattenProperty field --- .../destinations/klaviyo/ui-config.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/configurations/destinations/klaviyo/ui-config.json b/src/configurations/destinations/klaviyo/ui-config.json index 40d005f3c..6d7411b83 100644 --- a/src/configurations/destinations/klaviyo/ui-config.json +++ b/src/configurations/destinations/klaviyo/ui-config.json @@ -94,12 +94,6 @@ } ], "default": ["email"] - }, - { - "type": "checkbox", - "label": "Enable this to flatten user/event properties", - "configKey": "flattenProperties", - "default": false } ] }, @@ -114,6 +108,12 @@ "configKey": "enforceEmailAsPrimary", "default": false, "note": ["Email is prioritized over phone by klaviyo if both are present"] + }, + { + "type": "checkbox", + "label": "Enable this to flatten user/event properties", + "configKey": "flattenProperties", + "default": false } ] } From b7df821de6014bb4697620db1c0f19524780a080 Mon Sep 17 00:00:00 2001 From: Krishna Chaitanya Date: Mon, 21 Aug 2023 11:37:47 +0530 Subject: [PATCH 32/92] fix: updated with defaults for boolean fields in zendesk schema.json Co-authored-by: Gauravudia <60897972+Gauravudia@users.noreply.github.com> --- src/configurations/destinations/zendesk/schema.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/configurations/destinations/zendesk/schema.json b/src/configurations/destinations/zendesk/schema.json index 8f7ec495f..caeaa1e82 100644 --- a/src/configurations/destinations/zendesk/schema.json +++ b/src/configurations/destinations/zendesk/schema.json @@ -22,16 +22,20 @@ "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, "createUsersAsVerified": { - "type": "boolean" + "type": "boolean", + "default": false }, "sendGroupCallsWithoutUserId": { - "type": "boolean" + "type": "boolean", + "default": false }, "removeUsersFromOrganization": { - "type": "boolean" + "type": "boolean", + "default": false }, "searchByExternalId": { - "type": "boolean" + "type": "boolean", + "default": false }, "oneTrustCookieCategories": { "type": "array", From d98d0c334cd49c78ed22b71eb676093e5070dc26 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 21 Aug 2023 07:09:10 +0000 Subject: [PATCH 33/92] chore(release): 1.46.0 --- CHANGELOG.md | 18 ++++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d66da7d8..0bc83620a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,24 @@ 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.46.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.45.2...v1.46.0) (2023-08-21) + + +### Features + +* add flattenproperty field ([3a2b3e1](https://github.com/rudderlabs/rudder-config-schema/commit/3a2b3e191b657b7d2bb2629c6ac882f557c054e4)) +* add support for test events for Pinterest ([#811](https://github.com/rudderlabs/rudder-config-schema/issues/811)) ([85132bb](https://github.com/rudderlabs/rudder-config-schema/commit/85132bb3328468837c85e4225a8a290bc8ed7d6a)) +* enable blueshift for rETL ([#842](https://github.com/rudderlabs/rudder-config-schema/issues/842)) ([34e07a1](https://github.com/rudderlabs/rudder-config-schema/commit/34e07a189f7899c850d4ab14de14bb6b0bc1ac82)) +* **INT-151:** moving clevertap to router ([#831](https://github.com/rudderlabs/rudder-config-schema/issues/831)) ([c8dbf49](https://github.com/rudderlabs/rudder-config-schema/commit/c8dbf4918872acf01abce141e14d107ae2f4b873)) +* **INT-319:** update label to support v2 api token ([#829](https://github.com/rudderlabs/rudder-config-schema/issues/829)) ([b2ddb5d](https://github.com/rudderlabs/rudder-config-schema/commit/b2ddb5d9a7afd8ce87d8840b6f55801dfe49d49a)) + + +### Bug Fixes + +* add flattenProperty field ([3d7c9e7](https://github.com/rudderlabs/rudder-config-schema/commit/3d7c9e7525e4c7e107aeaf9e52dbc1739d92f2a8)) +* re-add removed schema for consent ([421d7c9](https://github.com/rudderlabs/rudder-config-schema/commit/421d7c94d9533b85f4884b3da182da6e3865c403)) +* updated with defaults for boolean fields in zendesk schema.json ([b7df821](https://github.com/rudderlabs/rudder-config-schema/commit/b7df821de6014bb4697620db1c0f19524780a080)) + ### [1.45.2](https://github.com/rudderlabs/rudder-config-schema/compare/v1.45.1...v1.45.2) (2023-08-16) diff --git a/package-lock.json b/package-lock.json index 69d25b683..7f2b3a832 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.45.2", + "version": "1.46.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.45.2", + "version": "1.46.0", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 3c4ad8cd3..c2d4b3024 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.45.2", + "version": "1.46.0", "description": "", "main": "src/index.ts", "private": true, From 7757a2ac60d3203c8ed066376fa3ec64434945c0 Mon Sep 17 00:00:00 2001 From: Sudip Paul <67197965+ItsSudip@users.noreply.github.com> Date: Mon, 21 Aug 2023 13:02:34 +0530 Subject: [PATCH 34/92] fix(blueshift): update supportedSourceTypes (#849) --- CHANGELOG.md | 1 + src/configurations/destinations/blueshift/db-config.json | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bc83620a..1f2a6ac98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ All notable changes to this project will be documented in this file. See [standa * add flattenProperty field ([3d7c9e7](https://github.com/rudderlabs/rudder-config-schema/commit/3d7c9e7525e4c7e107aeaf9e52dbc1739d92f2a8)) * re-add removed schema for consent ([421d7c9](https://github.com/rudderlabs/rudder-config-schema/commit/421d7c94d9533b85f4884b3da182da6e3865c403)) * updated with defaults for boolean fields in zendesk schema.json ([b7df821](https://github.com/rudderlabs/rudder-config-schema/commit/b7df821de6014bb4697620db1c0f19524780a080)) +* update supportedSourceTypes ([b00ab34](https://github.com/rudderlabs/rudder-config-schema/commit/b00ab34899bfe84a5afb71a0a1054c59dd5ddfea)) ### [1.45.2](https://github.com/rudderlabs/rudder-config-schema/compare/v1.45.1...v1.45.2) (2023-08-16) diff --git a/src/configurations/destinations/blueshift/db-config.json b/src/configurations/destinations/blueshift/db-config.json index e3b6a2696..655ef98ae 100644 --- a/src/configurations/destinations/blueshift/db-config.json +++ b/src/configurations/destinations/blueshift/db-config.json @@ -10,9 +10,15 @@ ], "excludeKeys": [], "supportedSourceTypes": [ + "android", + "ios", + "unity", + "amp", + "reactnative", + "flutter", + "cordova", "web", "cloud", - "mobile", "shopify", "warehouse" ], From 2c3971915864d807b13b350e72e3a4b8ca420e0f Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Mon, 21 Aug 2023 18:31:02 +0530 Subject: [PATCH 35/92] chore: updates salesforce to v8.1.3 --- src/configurations/sources/singer_salesforce/db-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/singer_salesforce/db-config.json b/src/configurations/sources/singer_salesforce/db-config.json index 9cac50330..739eb6a57 100644 --- a/src/configurations/sources/singer_salesforce/db-config.json +++ b/src/configurations/sources/singer_salesforce/db-config.json @@ -7,7 +7,7 @@ "oauthRole": "singer-salesforce" }, "isBeta": false, - "image": "rudderstack/source-salesforce:v4.0.5" + "image": "rudderstack/source-salesforce:v8.1.3" }, "type": "cloudSource" } From acfc98be7f106436e5e69f7a9f59dbf0370dc58d Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Mon, 21 Aug 2023 18:32:02 +0530 Subject: [PATCH 36/92] chore: updates mixpanel to v8.1.2 --- 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 094cd8b2d..37e03875a 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:v5.2.2" + "image": "rudderstack/source-mixpanel:v8.1.2" }, "type": "cloudSource" } From 6f9f51c608be24c10fd981827964a6f983ae5e85 Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Mon, 21 Aug 2023 18:33:09 +0530 Subject: [PATCH 37/92] chore: updates shopify to v8.1.0 --- src/configurations/sources/singer_shopify/db-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/singer_shopify/db-config.json b/src/configurations/sources/singer_shopify/db-config.json index 34322f146..c0655908d 100644 --- a/src/configurations/sources/singer_shopify/db-config.json +++ b/src/configurations/sources/singer_shopify/db-config.json @@ -3,7 +3,7 @@ "category": "singer-protocol", "displayName": "Shopify", "options": { - "image": "rudderstack/source-shopify:v6.2.3" + "image": "rudderstack/source-shopify:v8.1.0" }, "type": "cloudSource" } From 6b66a935fe6e9eceae22b64d7098c467be5b3885 Mon Sep 17 00:00:00 2001 From: ujjwal-ab Date: Tue, 22 Aug 2023 09:44:55 +0530 Subject: [PATCH 38/92] chore: remove listId from secret field --- src/configurations/destinations/klaviyo/ui-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/destinations/klaviyo/ui-config.json b/src/configurations/destinations/klaviyo/ui-config.json index 6d7411b83..b299363dc 100644 --- a/src/configurations/destinations/klaviyo/ui-config.json +++ b/src/configurations/destinations/klaviyo/ui-config.json @@ -76,7 +76,7 @@ "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", "regexErrorMessage": "Invalid List Id", "placeholder": "e.g: c59e3838", - "secret": true + "secret": false }, { "type": "multiSelect", From 4675bb506d785746bef2578759c3436800b36021 Mon Sep 17 00:00:00 2001 From: Yashasvi Bajpai <33063622+yashasvibajpai@users.noreply.github.com> Date: Tue, 22 Aug 2023 13:27:58 +0530 Subject: [PATCH 39/92] fix: remove discontinued bugsnag config ssl from UI (#854) --- src/configurations/destinations/bugsnag/ui-config.json | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/configurations/destinations/bugsnag/ui-config.json b/src/configurations/destinations/bugsnag/ui-config.json index 49bced094..4f8ef7df9 100644 --- a/src/configurations/destinations/bugsnag/ui-config.json +++ b/src/configurations/destinations/bugsnag/ui-config.json @@ -87,12 +87,6 @@ "type": "checkbox", "label": "Release Stage. If turned on : Development stage else : Production", "value": "releaseStage" - }, - { - "type": "checkbox", - "label": "SSL", - "value": "ssl", - "default": true } ] }, From a2e284c48a6037e29b2e4b680ef44a98279e929c Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Tue, 22 Aug 2023 18:46:05 +0530 Subject: [PATCH 40/92] fix: reverts salesforce to 4.0.5 --- src/configurations/sources/singer_salesforce/db-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/singer_salesforce/db-config.json b/src/configurations/sources/singer_salesforce/db-config.json index 739eb6a57..9cac50330 100644 --- a/src/configurations/sources/singer_salesforce/db-config.json +++ b/src/configurations/sources/singer_salesforce/db-config.json @@ -7,7 +7,7 @@ "oauthRole": "singer-salesforce" }, "isBeta": false, - "image": "rudderstack/source-salesforce:v8.1.3" + "image": "rudderstack/source-salesforce:v4.0.5" }, "type": "cloudSource" } From 0d7ef801616bac6260417e296747e4ef7822372c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 22 Aug 2023 13:18:31 +0000 Subject: [PATCH 41/92] chore(release): 1.46.1 --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f2a6ac98..2f8b1e379 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.46.1](https://github.com/rudderlabs/rudder-config-schema/compare/v1.46.0...v1.46.1) (2023-08-22) + + +### Bug Fixes + +* reverts salesforce to 4.0.5 ([a2e284c](https://github.com/rudderlabs/rudder-config-schema/commit/a2e284c48a6037e29b2e4b680ef44a98279e929c)) + ## [1.46.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.45.2...v1.46.0) (2023-08-21) diff --git a/package-lock.json b/package-lock.json index 7f2b3a832..b9c051208 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.46.0", + "version": "1.46.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.46.0", + "version": "1.46.1", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index c2d4b3024..5bde61502 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.46.0", + "version": "1.46.1", "description": "", "main": "src/index.ts", "private": true, From e902815a7d665445b35394ff8be9f99e10efa1a0 Mon Sep 17 00:00:00 2001 From: mihir-4116 Date: Wed, 23 Aug 2023 11:56:25 +0530 Subject: [PATCH 42/92] fix(iterable): schema issues --- .../destinations/iterable/schema.json | 13 +++++++++---- .../destinations/iterable/ui-config.json | 2 +- test/data/validation/destinations/iterable.json | 4 ++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/configurations/destinations/iterable/schema.json b/src/configurations/destinations/iterable/schema.json index 5903b4db9..141045533 100644 --- a/src/configurations/destinations/iterable/schema.json +++ b/src/configurations/destinations/iterable/schema.json @@ -121,9 +121,9 @@ "enum": [ "open-all-new-tab", "open-all-same-tab", - "external-new-tab", - "" - ] + "external-new-tab" + ], + "default": "open-all-new-tab" } } }, @@ -163,7 +163,12 @@ "type": "object", "properties": { "web": { - "type": "string" + "type": "string", + "enum": [ + "top-right", + "top-left" + ], + "default": "top-right" } } }, diff --git a/src/configurations/destinations/iterable/ui-config.json b/src/configurations/destinations/iterable/ui-config.json index 41a22cb8d..50589b757 100644 --- a/src/configurations/destinations/iterable/ui-config.json +++ b/src/configurations/destinations/iterable/ui-config.json @@ -32,7 +32,7 @@ "type": "textInput", "label": "Package Name", "configKey": "packageName", - "regex": "^(.{1,100})$", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", "regexErrorMessage": "Invalid package name", "note": "Iterable package name. Applicable to device mode only", "placeholder": "e.g: my-website" diff --git a/test/data/validation/destinations/iterable.json b/test/data/validation/destinations/iterable.json index ba08420cf..09030fc40 100644 --- a/test/data/validation/destinations/iterable.json +++ b/test/data/validation/destinations/iterable.json @@ -78,7 +78,7 @@ "web": true }, "closeButtonPosition": { - "web": "" + "web": "top-right" }, "oneTrustCookieCategories": [ { @@ -167,7 +167,7 @@ "web": true }, "closeButtonPosition": { - "web": "" + "web": "top-right" }, "oneTrustCookieCategories": [ { From ad8f6159270d12d2b52eeff110a58460fe9a54df Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Wed, 23 Aug 2023 16:48:52 +0530 Subject: [PATCH 43/92] 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 d56d2a6b9368e935a7b160c8f3277a25699d749d Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Wed, 23 Aug 2023 19:22:15 +0530 Subject: [PATCH 44/92] fix: 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 ff7a68d1c279d4a328d09b62325f449a0aff8da9 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 23 Aug 2023 13:54:59 +0000 Subject: [PATCH 45/92] chore(release): 1.46.2 --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f8b1e379..2a435fd77 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.46.2](https://github.com/rudderlabs/rudder-config-schema/compare/v1.46.1...v1.46.2) (2023-08-23) + + +### Bug Fixes + +* updates mixpanel to v8.1.5 ([d56d2a6](https://github.com/rudderlabs/rudder-config-schema/commit/d56d2a6b9368e935a7b160c8f3277a25699d749d)) + ### [1.46.1](https://github.com/rudderlabs/rudder-config-schema/compare/v1.46.0...v1.46.1) (2023-08-22) diff --git a/package-lock.json b/package-lock.json index b9c051208..5d12ab397 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.46.1", + "version": "1.46.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.46.1", + "version": "1.46.2", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 5bde61502..3bcc0599c 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.46.1", + "version": "1.46.2", "description": "", "main": "src/index.ts", "private": true, From 4d806d47d133eee6302103f7975c669c1e5eef6a Mon Sep 17 00:00:00 2001 From: mihir-4116 Date: Wed, 23 Aug 2023 19:59:07 +0530 Subject: [PATCH 46/92] chore: added support of registerDeviceOrBrowserApiKey --- src/configurations/destinations/iterable/db-config.json | 3 ++- src/configurations/destinations/iterable/schema.json | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/configurations/destinations/iterable/db-config.json b/src/configurations/destinations/iterable/db-config.json index d82f62df9..4ececab61 100644 --- a/src/configurations/destinations/iterable/db-config.json +++ b/src/configurations/destinations/iterable/db-config.json @@ -68,7 +68,8 @@ "mapToSingleEvent", "mergeNestedObjects", "trackCategorisedPages", - "oneTrustCookieCategories" + "oneTrustCookieCategories", + "registerDeviceOrBrowserApiKey" ], "web": [ "useNativeSDK", diff --git a/src/configurations/destinations/iterable/schema.json b/src/configurations/destinations/iterable/schema.json index 141045533..57fce027f 100644 --- a/src/configurations/destinations/iterable/schema.json +++ b/src/configurations/destinations/iterable/schema.json @@ -10,6 +10,10 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, + "registerDeviceOrBrowserApiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, "useNativeSDK": { "type": "object", "properties": { From 5cccb6a0485148c538a744c745b61cd73eff6ead Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Thu, 24 Aug 2023 17:10:20 +0530 Subject: [PATCH 47/92] 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 e1bba7cc6655fce69d8e27418e180ae76bfc9d42 Mon Sep 17 00:00:00 2001 From: devops-github-rudderstack <88187154+devops-github-rudderstack@users.noreply.github.com> Date: Mon, 28 Aug 2023 01:08:33 -0500 Subject: [PATCH 48/92] chore(release): pull hotfix-release/v1.47.0 into main (#867) 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 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 49/92] 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 50/92] 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 2a88b842b5c6c2c68acdfcd0d30c87381c26f42f Mon Sep 17 00:00:00 2001 From: Vikas Venkatraman Date: Tue, 29 Aug 2023 18:57:14 +0530 Subject: [PATCH 51/92] chore: enabled audience for databricks --- src/configurations/sources/databricks/db-config.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/configurations/sources/databricks/db-config.json b/src/configurations/sources/databricks/db-config.json index 724884e4a..c5c8c7d66 100644 --- a/src/configurations/sources/databricks/db-config.json +++ b/src/configurations/sources/databricks/db-config.json @@ -8,6 +8,7 @@ "mirror" ], "isSqlModelSupported": true, + "isAudienceSupported": true, "hidden": false }, "type": "warehouse" From d16d79a9f391f80e1dadcda310ae76f3945e1b80 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 29 Aug 2023 13:31:05 +0000 Subject: [PATCH 52/92] chore(release): 1.47.1 --- 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 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 53/92] 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 54/92] 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 55/92] 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 56/92] 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 c9085621728be32983eea3b1623f5fb66babf241 Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Fri, 1 Sep 2023 18:34:18 +0530 Subject: [PATCH 57/92] fix: 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 a0614e644b13d4f00553c825dd2add9efdeeea30 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 1 Sep 2023 13:07:46 +0000 Subject: [PATCH 58/92] chore(release): 1.47.2 --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 146a447ae..e8bac86d3 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.2](https://github.com/rudderlabs/rudder-config-schema/compare/v1.47.1...v1.47.2) (2023-09-01) + + +### Bug Fixes + +* updates mixpanel to 8.1.7 ([c908562](https://github.com/rudderlabs/rudder-config-schema/commit/c9085621728be32983eea3b1623f5fb66babf241)) + ### [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 d28063ae1..6154a8971 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.47.1", + "version": "1.47.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.47.1", + "version": "1.47.2", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 5b0c97b97..6808ca9a5 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.47.1", + "version": "1.47.2", "description": "", "main": "src/index.ts", "private": true, 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 59/92] 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 60/92] 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 61/92] 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 62/92] 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 63/92] 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 64/92] 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 88841c2d4b9081f263ceace003499f7ee873cfe6 Mon Sep 17 00:00:00 2001 From: Anant Jain <62471433+anantjain45823@users.noreply.github.com> Date: Mon, 4 Sep 2023 16:43:56 +0530 Subject: [PATCH 65/92] feat(INT-339): enable mirror mode for marketo static list (#843) --- .../destinations/marketo_static_list/db-config.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/configurations/destinations/marketo_static_list/db-config.json b/src/configurations/destinations/marketo_static_list/db-config.json index cf94d3922..34dfd5e65 100644 --- a/src/configurations/destinations/marketo_static_list/db-config.json +++ b/src/configurations/destinations/marketo_static_list/db-config.json @@ -15,6 +15,9 @@ "excludeKeys": [], "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "supportedMessageTypes": ["audiencelist"], + "syncBehaviours": ["mirror"], + "disableJsonMapper": true, + "supportsVisualMapper": true, "destConfig": { "defaultConfig": [ "clientId", 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 66/92] 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 67/92] 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 } } From 8a051cc36f0372d6922b86d571d5871fa5ad3270 Mon Sep 17 00:00:00 2001 From: nidhilashkari17 <108564211+nidhilashkari17@users.noreply.github.com> Date: Tue, 5 Sep 2023 09:35:15 +0530 Subject: [PATCH 68/92] chore(ETL-66): updated fb marketing image to use marketing api version 17 (#864) --- .../sources/singer_facebook_marketing/db-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/singer_facebook_marketing/db-config.json b/src/configurations/sources/singer_facebook_marketing/db-config.json index 364b9d76a..296260e9c 100644 --- a/src/configurations/sources/singer_facebook_marketing/db-config.json +++ b/src/configurations/sources/singer_facebook_marketing/db-config.json @@ -3,7 +3,7 @@ "category": "singer-protocol", "displayName": "Facebook Ads", "options": { - "image": "rudderstack/source-facebook-marketing:v5.0.0" + "image": "rudderstack/source-facebook-marketing:v8.1.6" }, "type": "cloudSource" } From c68bfc1b6ad50d6ba5939c1fec0d65da023f8930 Mon Sep 17 00:00:00 2001 From: Mihir Bhalala <77438541+mihir-4116@users.noreply.github.com> Date: Tue, 5 Sep 2023 17:17:00 +0530 Subject: [PATCH 69/92] chore: resolved conflicts (#890) --- 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 33666685d667eec4ec72f5043c60e2249940cca0 Mon Sep 17 00:00:00 2001 From: nidhilashkari17 <108564211+nidhilashkari17@users.noreply.github.com> Date: Tue, 5 Sep 2023 17:49:52 +0530 Subject: [PATCH 70/92] fix: fb ads account validation (ETL-114) (#892) --- .../sources/singer_facebook_marketing/db-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/singer_facebook_marketing/db-config.json b/src/configurations/sources/singer_facebook_marketing/db-config.json index 296260e9c..93a279805 100644 --- a/src/configurations/sources/singer_facebook_marketing/db-config.json +++ b/src/configurations/sources/singer_facebook_marketing/db-config.json @@ -3,7 +3,7 @@ "category": "singer-protocol", "displayName": "Facebook Ads", "options": { - "image": "rudderstack/source-facebook-marketing:v8.1.6" + "image": "rudderstack/source-facebook-marketing:v8.1.9" }, "type": "cloudSource" } From 0f849bdbd80838714d18bac859986a1ada41cb83 Mon Sep 17 00:00:00 2001 From: Sudip Paul <67197965+ItsSudip@users.noreply.github.com> Date: Wed, 6 Sep 2023 22:41:25 +0530 Subject: [PATCH 71/92] feat: eloqua new integration onboarding (#893) Co-authored-by: Krishna Chaitanya --- .../destinations/eloqua/db-config.json | 21 ++++++ .../destinations/eloqua/metadata.json | 0 .../destinations/eloqua/schema.json | 33 +++++++++ .../destinations/eloqua/ui-config.json | 72 +++++++++++++++++++ test/data/validation/destinations/eloqua.json | 31 ++++++++ 5 files changed, 157 insertions(+) create mode 100644 src/configurations/destinations/eloqua/db-config.json create mode 100644 src/configurations/destinations/eloqua/metadata.json create mode 100644 src/configurations/destinations/eloqua/schema.json create mode 100644 src/configurations/destinations/eloqua/ui-config.json create mode 100644 test/data/validation/destinations/eloqua.json diff --git a/src/configurations/destinations/eloqua/db-config.json b/src/configurations/destinations/eloqua/db-config.json new file mode 100644 index 000000000..63bd21bb2 --- /dev/null +++ b/src/configurations/destinations/eloqua/db-config.json @@ -0,0 +1,21 @@ +{ + "name": "ELOQUA", + "displayName": "Eloqua", + "config": { + "cdkV2Enabled": true, + "supportsVisualMapper": true, + "syncBehaviours": ["upsert"], + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": ["cloud", "warehouse"], + "supportedConnectionModes": {}, + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": ["companyName", "password", "userName"] + }, + "secretKeys": ["password"] + } +} diff --git a/src/configurations/destinations/eloqua/metadata.json b/src/configurations/destinations/eloqua/metadata.json new file mode 100644 index 000000000..e69de29bb diff --git a/src/configurations/destinations/eloqua/schema.json b/src/configurations/destinations/eloqua/schema.json new file mode 100644 index 000000000..15f1a608e --- /dev/null +++ b/src/configurations/destinations/eloqua/schema.json @@ -0,0 +1,33 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["companyName", "userName", "password"], + "properties": { + "companyName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "userName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "password": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "oneTrustCookieCategories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/eloqua/ui-config.json b/src/configurations/destinations/eloqua/ui-config.json new file mode 100644 index 000000000..f49badcd1 --- /dev/null +++ b/src/configurations/destinations/eloqua/ui-config.json @@ -0,0 +1,72 @@ +{ + "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": "Company Name", + "note": ["Edit your company name you use to login in eloqua."], + "configKey": "companyName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Invalid Company Name Format", + "placeholder": "e.g: dummyCompany" + }, + { + "type": "textInput", + "label": "Username", + "configKey": "userName", + "note": "Edit your username here", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Invalid Username format", + "placeholder": "e.g: dummyUsername" + }, + { + "type": "textInput", + "label": "Password", + "configKey": "password", + "note": "Edit your password here", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Invalid Password format", + "placeholder": "e.g: dummyPassword", + "secret": true + } + ] + } + ] + }, + { + "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": [] + } + ] + } + ] + } + ], + "sdkTemplate": { + "title": "SDK settings", + "note": "not visible in the ui", + "fields": [] + } + } +} diff --git a/test/data/validation/destinations/eloqua.json b/test/data/validation/destinations/eloqua.json new file mode 100644 index 000000000..659a1eaec --- /dev/null +++ b/test/data/validation/destinations/eloqua.json @@ -0,0 +1,31 @@ +[ + { + "config": { + "companyName": "someDummyCompany", + "userName": "someDummyUserName", + "password": "someDummyPassword" + }, + "result": true + }, + { + "config": { + "companyName": "someDummyCompanywithlengthmorethan100-12345678901234567890123456789012345678901234567890123456789012345678901234567890", + "userName": "someDummyUserNamewithlengthmorethan100-12345678901234567890123456789012345678901234567890123456789012345678901234567890", + "password": "someDummyPasswordwithlengthmorethan100-12345678901234567890123456789012345678901234567890123456789012345678901234567890" + }, + "result": false, + "err": [ + "companyName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"", + "userName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"", + "password must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" + ] + }, + { + "config": { + "userName": "someDummyUserName", + "password": "someDummyPassword" + }, + "result": false, + "err":[" must have required property 'companyName'"] + } +] From 520f5050219d2330e3ec4c19e771a973bea9a302 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 6 Sep 2023 17:12:48 +0000 Subject: [PATCH 72/92] chore(release): 1.49.0 --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bfb73de0..91c1ff0e4 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.49.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.48.0...v1.49.0) (2023-09-06) + + +### Features + +* eloqua new integration onboarding ([#893](https://github.com/rudderlabs/rudder-config-schema/issues/893)) ([0f849bd](https://github.com/rudderlabs/rudder-config-schema/commit/0f849bdbd80838714d18bac859986a1ada41cb83)) + ## [1.48.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.47.2...v1.48.0) (2023-09-04) diff --git a/package-lock.json b/package-lock.json index ecc606173..040286cd9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.48.0", + "version": "1.49.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.48.0", + "version": "1.49.0", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 8fa5f6519..3180ce1c6 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.48.0", + "version": "1.49.0", "description": "", "main": "src/index.ts", "private": true, From 62a342c301c709ae47e550d63b69669f4444b1dd Mon Sep 17 00:00:00 2001 From: ItsSudip Date: Wed, 6 Sep 2023 22:45:24 +0530 Subject: [PATCH 73/92] add beta tag --- src/configurations/destinations/eloqua/db-config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/configurations/destinations/eloqua/db-config.json b/src/configurations/destinations/eloqua/db-config.json index 63bd21bb2..eb538adce 100644 --- a/src/configurations/destinations/eloqua/db-config.json +++ b/src/configurations/destinations/eloqua/db-config.json @@ -17,5 +17,6 @@ "defaultConfig": ["companyName", "password", "userName"] }, "secretKeys": ["password"] - } + }, + "options": { "isBeta": true } } From 36c6c2c5d38e295204cc9fbf7959089426930415 Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Mon, 11 Sep 2023 13:10:54 +0530 Subject: [PATCH 74/92] chore: updates hubspot to 8.1.10 --- src/configurations/sources/singer_hubspot/db-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/singer_hubspot/db-config.json b/src/configurations/sources/singer_hubspot/db-config.json index d0fae997e..0b1b874e7 100644 --- a/src/configurations/sources/singer_hubspot/db-config.json +++ b/src/configurations/sources/singer_hubspot/db-config.json @@ -7,7 +7,7 @@ "oauthRole": "hubspot" }, "digest": "sha256:4e4d43d688a81ce3e166b5d7c20c0050101c43f8b50187e0da8d63a37e2b412b", - "image": "rudderstack/source-hubspot:v7.1.1", + "image": "rudderstack/source-hubspot:v8.1.10", "isBeta": false }, "type": "cloudSource" From 4600e914d2297f38237c9ffb1121e040a7f366d4 Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Mon, 11 Sep 2023 13:11:16 +0530 Subject: [PATCH 75/92] chore: updates mixpanel to 8.1.10 --- 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 ae55270cb..b1b052733 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.7" + "image": "rudderstack/source-mixpanel:v8.1.10" }, "type": "cloudSource" } From c0d3248b3cfc6d8d596e8f7eb7d6abda2adc6aaf Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Mon, 11 Sep 2023 20:27:21 +0530 Subject: [PATCH 76/92] fix: updates hubspot to 8.1.10 --- src/configurations/sources/singer_hubspot/db-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/singer_hubspot/db-config.json b/src/configurations/sources/singer_hubspot/db-config.json index d0fae997e..0b1b874e7 100644 --- a/src/configurations/sources/singer_hubspot/db-config.json +++ b/src/configurations/sources/singer_hubspot/db-config.json @@ -7,7 +7,7 @@ "oauthRole": "hubspot" }, "digest": "sha256:4e4d43d688a81ce3e166b5d7c20c0050101c43f8b50187e0da8d63a37e2b412b", - "image": "rudderstack/source-hubspot:v7.1.1", + "image": "rudderstack/source-hubspot:v8.1.10", "isBeta": false }, "type": "cloudSource" From 074844cd7da72ccf348a11a2aa5dd50f62bf73f3 Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Mon, 11 Sep 2023 20:27:51 +0530 Subject: [PATCH 77/92] fix: updates mixpanel to 8.1.10 --- 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 ae55270cb..b1b052733 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.7" + "image": "rudderstack/source-mixpanel:v8.1.10" }, "type": "cloudSource" } From 2e2715bc453b3de472320a77145afba847aa179e Mon Sep 17 00:00:00 2001 From: Nidhi Lashkari Date: Mon, 11 Sep 2023 20:38:38 +0530 Subject: [PATCH 78/92] fix: fb ads account validation --- .../sources/singer_facebook_marketing/db-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/singer_facebook_marketing/db-config.json b/src/configurations/sources/singer_facebook_marketing/db-config.json index 364b9d76a..93a279805 100644 --- a/src/configurations/sources/singer_facebook_marketing/db-config.json +++ b/src/configurations/sources/singer_facebook_marketing/db-config.json @@ -3,7 +3,7 @@ "category": "singer-protocol", "displayName": "Facebook Ads", "options": { - "image": "rudderstack/source-facebook-marketing:v5.0.0" + "image": "rudderstack/source-facebook-marketing:v8.1.9" }, "type": "cloudSource" } From 7bafefe91c56b38b913ef3587e04017b6f57595d Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 11 Sep 2023 15:11:39 +0000 Subject: [PATCH 79/92] chore(release): 1.49.1 --- CHANGELOG.md | 9 +++++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91c1ff0e4..ca960b33d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ 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.49.1](https://github.com/rudderlabs/rudder-config-schema/compare/v1.49.0...v1.49.1) (2023-09-11) + + +### Bug Fixes + +* fb ads account validation ([2e2715b](https://github.com/rudderlabs/rudder-config-schema/commit/2e2715bc453b3de472320a77145afba847aa179e)) +* updates hubspot to 8.1.10 ([c0d3248](https://github.com/rudderlabs/rudder-config-schema/commit/c0d3248b3cfc6d8d596e8f7eb7d6abda2adc6aaf)) +* updates mixpanel to 8.1.10 ([074844c](https://github.com/rudderlabs/rudder-config-schema/commit/074844cd7da72ccf348a11a2aa5dd50f62bf73f3)) + ## [1.49.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.48.0...v1.49.0) (2023-09-06) diff --git a/package-lock.json b/package-lock.json index 040286cd9..d6b446d4b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.49.0", + "version": "1.49.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.49.0", + "version": "1.49.1", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 3180ce1c6..8e92f314b 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.49.0", + "version": "1.49.1", "description": "", "main": "src/index.ts", "private": true, From 39b66a10269f31b1f4a3b6892f885638a6eb9bb8 Mon Sep 17 00:00:00 2001 From: Utsab Chowdhury Date: Tue, 12 Sep 2023 10:51:17 +0530 Subject: [PATCH 80/92] chore: remove beta flag for braze dedup --- src/configurations/destinations/braze/ui-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/destinations/braze/ui-config.json b/src/configurations/destinations/braze/ui-config.json index fafbb45f8..e08209153 100644 --- a/src/configurations/destinations/braze/ui-config.json +++ b/src/configurations/destinations/braze/ui-config.json @@ -241,7 +241,7 @@ "fields": [ { "type": "checkbox", - "label": "Deduplicate Traits (Beta)", + "label": "Deduplicate Traits", "configKey": "supportDedup", "default": false, "note": "Turn on if you want to enable Deduplicate Traits on identify and track" From 994dd75e01a49134c59541ea7595ea642147909e Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 12 Sep 2023 05:50:26 +0000 Subject: [PATCH 81/92] chore(release): 1.49.2 --- 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 ca960b33d..2dc89677f 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.49.2](https://github.com/rudderlabs/rudder-config-schema/compare/v1.49.1...v1.49.2) (2023-09-12) + ### [1.49.1](https://github.com/rudderlabs/rudder-config-schema/compare/v1.49.0...v1.49.1) (2023-09-11) diff --git a/package-lock.json b/package-lock.json index d6b446d4b..9c1ece561 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.49.1", + "version": "1.49.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.49.1", + "version": "1.49.2", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 8e92f314b..a6586d78c 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.49.1", + "version": "1.49.2", "description": "", "main": "src/index.ts", "private": true, From a9deca09e4df5a3517555e124cddb5ed5febd633 Mon Sep 17 00:00:00 2001 From: Gauravudia <60897972+Gauravudia@users.noreply.github.com> Date: Tue, 12 Sep 2023 19:05:12 +0530 Subject: [PATCH 82/92] feat: onboard launchdarkly audience (#877) --- .../launchdarkly_audience/db-config.json | 33 ++++ .../launchdarkly_audience/metadata.json | 18 ++ .../launchdarkly_audience/schema.json | 65 ++++++++ .../launchdarkly_audience/ui-config.json | 155 ++++++++++++++++++ 4 files changed, 271 insertions(+) create mode 100644 src/configurations/destinations/launchdarkly_audience/db-config.json create mode 100644 src/configurations/destinations/launchdarkly_audience/metadata.json create mode 100644 src/configurations/destinations/launchdarkly_audience/schema.json create mode 100644 src/configurations/destinations/launchdarkly_audience/ui-config.json diff --git a/src/configurations/destinations/launchdarkly_audience/db-config.json b/src/configurations/destinations/launchdarkly_audience/db-config.json new file mode 100644 index 000000000..0f30c2b8d --- /dev/null +++ b/src/configurations/destinations/launchdarkly_audience/db-config.json @@ -0,0 +1,33 @@ +{ + "name": "LAUNCHDARKLY_AUDIENCE", + "displayName": "LaunchDarkly Audience", + "config": { + "cdkV2Enabled": true, + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "disableJsonMapper": true, + "isAudienceSupported": true, + "supportsVisualMapper": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": ["cloud", "warehouse"], + "supportedMessageTypes": ["audiencelist"], + "syncBehaviours": ["mirror"], + "supportedConnectionModes": [], + "destConfig": { + "defaultConfig": [ + "accessToken", + "clientSideId", + "audienceId", + "audienceName", + "audienceType", + "oneTrustCookieCategories" + ] + }, + "secretKeys": ["accessToken"] + }, + "options": { + "isBeta": true + } +} diff --git a/src/configurations/destinations/launchdarkly_audience/metadata.json b/src/configurations/destinations/launchdarkly_audience/metadata.json new file mode 100644 index 000000000..034f78253 --- /dev/null +++ b/src/configurations/destinations/launchdarkly_audience/metadata.json @@ -0,0 +1,18 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "https://www.rudderstack.com/docs/destinations/streaming-destinations/launchdarkly-audience/", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": "" + }, + "supportedMethods": { + "cloud-mode": ["audiencelist"], + "device-mode": {} + }, + "releaseStatus": "beta", + "sourceCode": {} + } +} diff --git a/src/configurations/destinations/launchdarkly_audience/schema.json b/src/configurations/destinations/launchdarkly_audience/schema.json new file mode 100644 index 000000000..e2bdc2910 --- /dev/null +++ b/src/configurations/destinations/launchdarkly_audience/schema.json @@ -0,0 +1,65 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["accessToken", "clientSideId", "audienceId", "audienceName"], + "properties": { + "accessToken": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "clientSideId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "audienceId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "audienceName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "audienceType": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/launchdarkly_audience/ui-config.json b/src/configurations/destinations/launchdarkly_audience/ui-config.json new file mode 100644 index 000000000..d2316e7aa --- /dev/null +++ b/src/configurations/destinations/launchdarkly_audience/ui-config.json @@ -0,0 +1,155 @@ +{ + "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": "Access Token", + "note": [ + "Enter the Access token with the write access associated with your LaunchDarkly account. To learn how to create an access token, read ", + { + "text": "Creating API access tokens", + "link": "https://docs.launchdarkly.com/home/account-security/api-access-tokens#creating-api-access-tokens" + } + ], + "configKey": "accessToken", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Invalid Access Token", + "placeholder": "e.g: api-4b50335d-133a-47b3-b918-654c7199e2de", + "secret": true + }, + { + "type": "textInput", + "label": "Client Side ID", + "note": "Enter the Client Side Id associated with your LaunchDarkly project and environment. You can get this from Account Settings → Projects Tab → Click project name → Click the environment's client-side ID to copy it to your clipboard.", + "configKey": "clientSideId", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Invalid Client Side Id", + "placeholder": "e.g: 6123931929849919" + }, + { + "type": "textInput", + "label": "Audience ID", + "note": "Enter the Audience ID that you want to sync. This will be mapped to LaunchDarkly's Cohort ID. A Segment (or Audience or Cohort) will be created/updated in LaunchDarkly with this ID.", + "configKey": "audienceId", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Invalid Audience Id", + "placeholder": "e.g: example-audience-id" + }, + { + "type": "textInput", + "label": "Audience Name", + "note": "Enter the Audience name that you want to sync. This will be mapped to LaunchDarkly's Cohort Name.", + "configKey": "audienceName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Invalid Audience Name", + "placeholder": "e.g: Logged in users" + } + ] + } + ] + }, + { + "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 destination-specific settings here", + "icon": "settings", + "groups": [ + { + "title": "LaunchDarkly IT", + "note": "Configure a few advanced LaunchDarkly settings here", + "fields": [ + { + "type": "textInput", + "label": "Audience Type", + "note": [ + "Enter the Audience Type. This will be mapped to LaunchDarkly's ", + { + "text": "Context Kind .", + "link": "https://docs.launchdarkly.com/home/contexts/context-kinds" + }, + "By default, a Segment (or Audience or Cohort) will be created with 'user' as the context kind." + ], + "configKey": "audienceType", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", + "regexErrorMessage": "Invalid Audience Type", + "placeholder": "e.g: user" + } + ] + } + ] + }, + { + "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": [] + } + } +} From bfb1f1e7c3415acc56ffa01d9348b743959b12f6 Mon Sep 17 00:00:00 2001 From: mihir-4116 Date: Thu, 14 Sep 2023 10:36:56 +0530 Subject: [PATCH 83/92] chore: code review changes --- .../destinations/iterable/ui-config.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/configurations/destinations/iterable/ui-config.json b/src/configurations/destinations/iterable/ui-config.json index 50589b757..73a2e8ce1 100644 --- a/src/configurations/destinations/iterable/ui-config.json +++ b/src/configurations/destinations/iterable/ui-config.json @@ -8,7 +8,7 @@ { "groups": [ { - "title": "One click checkout", + "title": "Connection settings", "note": "Update your connection settings here", "icon": "settings", "fields": [ @@ -21,6 +21,13 @@ "placeholder": "e.g: 42f187310705012194bd0bd694905664ae" }, { + "type": "textInput", + "label": "Package Name", + "configKey": "packageName", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Invalid package name", + "note": "Iterable package name. Applicable to device mode only", + "placeholder": "e.g: my-website", "preRequisites": { "fields": [ { @@ -28,14 +35,7 @@ "value": true } ] - }, - "type": "textInput", - "label": "Package Name", - "configKey": "packageName", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", - "regexErrorMessage": "Invalid package name", - "note": "Iterable package name. Applicable to device mode only", - "placeholder": "e.g: my-website" + } } ] } From 33c3d5f235cb3b26ed0b4acc5257bb1bd3f55559 Mon Sep 17 00:00:00 2001 From: Yashasvi Bajpai <33063622+yashasvibajpai@users.noreply.github.com> Date: Fri, 15 Sep 2023 12:11:08 +0530 Subject: [PATCH 84/92] feat: onboard cloud mode support for fullstory on new UI (#875) Co-authored-by: ujjwal-ab --- .../destinations/fullstory/db-config.json | 42 ++- .../destinations/fullstory/schema.json | 147 +++++++- .../destinations/fullstory/ui-config.json | 325 ++++++++++++------ .../validation/destinations/fullstory.json | 68 ++++ 4 files changed, 458 insertions(+), 124 deletions(-) create mode 100644 test/data/validation/destinations/fullstory.json diff --git a/src/configurations/destinations/fullstory/db-config.json b/src/configurations/destinations/fullstory/db-config.json index 023701b04..23105ad1c 100644 --- a/src/configurations/destinations/fullstory/db-config.json +++ b/src/configurations/destinations/fullstory/db-config.json @@ -2,6 +2,7 @@ "name": "FULLSTORY", "displayName": "Fullstory", "config": { + "cdkV2Enabled": true, "transformAt": "processor", "transformAtV1": "processor", "saveDestinationResponse": true, @@ -18,28 +19,35 @@ "supportedSourceTypes": [ "web", "android", - "ios" + "ios", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova", + "shopify" ], + "supportedConnectionModes": { + "android": ["cloud", "device"], + "ios": ["cloud", "device"], + "web": ["cloud", "device"] + }, "destConfig": { "defaultConfig": [ + "apiKey", "fs_org", - "fs_host", - "fs_debug_mode", "blacklistedEvents", "whitelistedEvents", - "eventFilteringOption", - "oneTrustCookieCategories" - ], - "web": [ - "useNativeSDK" - ], - "android": [ - "useNativeSDK" + "oneTrustCookieCategories", + "eventFilteringOption" ], - "ios": [ - "useNativeSDK" - ] + "web": ["useNativeSDK", "connectionMode", "fs_debug_mode", "fs_host"], + "android": ["useNativeSDK", "connectionMode"], + "ios": ["useNativeSDK", "connectionMode"] }, - "secretKeys": [] - } -} \ No newline at end of file + "secretKeys": ["apiKey"] + }, + "options": { "isBeta": true } +} diff --git a/src/configurations/destinations/fullstory/schema.json b/src/configurations/destinations/fullstory/schema.json index fddffa4cc..47de3751d 100644 --- a/src/configurations/destinations/fullstory/schema.json +++ b/src/configurations/destinations/fullstory/schema.json @@ -1,3 +1,148 @@ { - "configSchema": null + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "required": [], + "type": "object", + "properties": { + "eventFilteringOption": { + "type": "string", + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], + "default": "disable" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "fs_host": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^$|^(([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])$" + } + } + }, + "fs_debug_mode": { "type": "object", "properties": { "web": { "type": "boolean" } } }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { "type": "boolean" }, + "android": { "type": "boolean" }, + "ios": { "type": "boolean" } + } + }, + "connectionMode": { + "type": "object", + "properties": { + "web": { "type": "string", "enum": ["cloud", "device"] }, + "android": { "type": "string", "enum": ["cloud", "device"] }, + "ios": { "type": "string", "enum": ["cloud", "device"] } + } + } + }, + "allOf": [ + { + "if": { + "anyOf": [ + { + "properties": { + "connectionMode": { + "type": "object", + "properties": { + "web": { "type": "string", "enum": ["cloud"] } + }, + "required": ["web"] + } + } + }, + { + "properties": { + "connectionMode": { + "type": "object", + "properties": { + "android": { "type": "string", "enum": ["cloud"] } + }, + "required": ["android"] + } + } + }, + { + "properties": { + "connectionMode": { + "type": "object", + "properties": { + "ios": { "type": "string", "enum": ["cloud"] } + }, + "required": ["ios"] + } + } + } + ] + }, + "then": { + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,200})$" + } + }, + "required": ["apiKey"] + } + }, + { + "if": { + "properties": { + "connectionMode": { + "type": "object", + "properties": { + "web": { "type": "string", "enum": ["device"] } + }, + "required": ["web"] + } + } + }, + "then": { + "properties": { + "fs_org": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + }, + "required": ["fs_org"] + } + } + ] + } } diff --git a/src/configurations/destinations/fullstory/ui-config.json b/src/configurations/destinations/fullstory/ui-config.json index 10cd1de58..f3e99f77f 100644 --- a/src/configurations/destinations/fullstory/ui-config.json +++ b/src/configurations/destinations/fullstory/ui-config.json @@ -1,118 +1,231 @@ { - "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", + "note": "The API key must have Admin or Architect level permissions to view or delete data. Required for cloud mode.", + "configKey": "apiKey", + "regex": "^(.{0,200})$", + "regexErrorMessage": "Invalid Api Key", + "placeholder": "e.g: na1.XQdLJo0...", + "preRequisites": { + "fields": [ + { + "configKey": "connectionModes.cloud", + "value": true + } + ] + } + }, + { + "type": "textInput", + "label": "FS ORG", + "note": "Required for web device mode,", + "configKey": "fs_org", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid FS ORG", + "placeholder": "e.g: dd412940", + "preRequisites": { + "fields": [ + { + "configKey": "connectionModes.webDevice", + "value": true + } + ] + } + } + ] + } + ] + }, + { + "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 RudderStack features here", + "icon": "otherSettings", + "groups": [ + { + "title": "Client-side event filtering", + "note": "Decide what events are allowed (allowlisting) and blocked (denylisting)", + "preRequisites": { + "fields": [ + { + "configKey": "connectionModes.webDevice", + "value": true + }, + { + "configKey": "connectionModes.mobileDevice", + "value": true + } + ], + "condition": "or" + }, + "fields": [ + { + "type": "singleSelect", + "label": "Choose if you want to turn on events 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 separate events by pressing ‘Enter’.\nInput the events you want to allowlist.", + "configKey": "whitelistedEvents", + "tagKey": "eventName", + "placeholder": "e.g: Anonymous page visit", + "default": [ + { + "eventName": "" + } + ], + "preRequisites": { + "fields": [ + { + "configKey": "eventFilteringOption", + "value": "whitelistedEvents" + } + ] + } + }, + { + "type": "tagInput", + "label": "Denylisted events", + "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to denylist. ", + "configKey": "blacklistedEvents", + "tagKey": "eventName", + "placeholder": "e.g: Anonymous page visit", + "default": [ + { + "eventName": "" + } + ], + "preRequisites": { + "fields": [ + { + "configKey": "eventFilteringOption", + "value": "blacklistedEvents" + } + ] + } + } + ] + }, + { + "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": "FS ORG", - "value": "fs_org", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid FS ORG", - "required": true, - "placeholder": "e.g: dd412940" - }, - { - "type": "textInput", - "label": "FullStory Host", - "footerNote":"Use this field if you have a custom FullStory host. By default it is fullstory.com", - "value": "fs_host", - "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])$", + "note": "FullStory Host", + "footerNote": "Use this field if you have a custom FullStory host. By default it is fullstory.com", + "configKey": "fs_host", + "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 FS HOST", - "placeholder": "e.g: fullstory.com" + "placeholder": "e.g: fullstory.com", + "preRequisites": { + "fields": [ + { + "configKey": "connectionModes.webDevice", + "value": true + } + ] + } }, { "type": "checkbox", - "label": "FS debug mode", - "value": "fs_debug_mode", - "default": true - } - ] - }, - { - "title": "Native SDK", - "fields": [ - { - "type": "defaultCheckbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": true - } - ] - }, - { - "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" + "note": "FS debug mode", + "configKey": "fs_debug_mode", + "default": true, + "preRequisites": { + "fields": [ + { + "configKey": "connectionModes.webDevice", + "value": true + } + ] } - }, - { - "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" - } - ] - } - ] - }, - { - "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 - } - ] } ] } - ] -} \ No newline at end of file + } +} diff --git a/test/data/validation/destinations/fullstory.json b/test/data/validation/destinations/fullstory.json new file mode 100644 index 000000000..0de7d990b --- /dev/null +++ b/test/data/validation/destinations/fullstory.json @@ -0,0 +1,68 @@ +[ + { + "config": { + "blacklistedEvents": [ + { + "eventName": "Signup failed" + } + ], + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "oneTrustCookieCategories": [ + { + "oneTrustCookieCategory": "" + } + ], + "eventFilteringOption": "blacklistedEvents", + "http-connectionMode": "cloud", + "useNativeSDK": { + "web": true, + "android": false + }, + "connectionMode": { + "web": "device", + "android": "cloud" + }, + "fs_debug_mode": { + "web": true + }, + "fs_org": "dummyorg", + "fs_host": { + "web": "dummyhost.com" + }, + "apiKey": "na1.dummy" + }, + "result": true + }, + { + "config": { + "blacklistedEvents": [{ "eventName": "" }], + "whitelistedEvents": [{ "eventName": "" }], + "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "" }], + "eventFilteringOption": "disable", + "useNativeSDK": { "web": true }, + "connectionMode": { "web": "device" }, + "fs_debug_mode": { "web": false }, + "fs_org": "dummyorg2", + "fs_host": { "web": "dummyhost.com" } + }, + "result": true + }, + { + "config": { + "blacklistedEvents": [{ "eventName": "" }], + "whitelistedEvents": [{ "eventName": "" }], + "oneTrustCookieCategories": [{ "oneTrustCookieCategory": "" }], + "eventFilteringOption": "disable", + "useNativeSDK": { "web": true }, + "connectionMode": { "web": "device" }, + "fs_debug_mode": { "web": true }, + "fs_org": "dummyorg", + "fs_host": { "web": "" } + }, + "result": true + } +] From 04352c5750a490d2e0775dd4c7e95ce37f1418a7 Mon Sep 17 00:00:00 2001 From: Anant Jain <62471433+anantjain45823@users.noreply.github.com> Date: Fri, 15 Sep 2023 14:06:58 +0530 Subject: [PATCH 85/92] chore: add beta tag to MSL (#904) --- .../marketo_static_list/db-config.json | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/configurations/destinations/marketo_static_list/db-config.json b/src/configurations/destinations/marketo_static_list/db-config.json index 34dfd5e65..942a7b3e7 100644 --- a/src/configurations/destinations/marketo_static_list/db-config.json +++ b/src/configurations/destinations/marketo_static_list/db-config.json @@ -13,9 +13,17 @@ "oneTrustCookieCategories" ], "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse", "shopify"], - "supportedMessageTypes": ["audiencelist"], - "syncBehaviours": ["mirror"], + "supportedSourceTypes": [ + "cloud", + "warehouse", + "shopify" + ], + "supportedMessageTypes": [ + "audiencelist" + ], + "syncBehaviours": [ + "mirror" + ], "disableJsonMapper": true, "supportsVisualMapper": true, "destConfig": { @@ -27,6 +35,13 @@ "oneTrustCookieCategories" ] }, - "secretKeys": ["clientId", "clientSecret", "accountId"] + "secretKeys": [ + "clientId", + "clientSecret", + "accountId" + ] + }, + "options": { + "isBeta": true } -} +} \ No newline at end of file From f870b4aed86ba2dcc77fc58f95f8401e273eff92 Mon Sep 17 00:00:00 2001 From: mihir-4116 Date: Fri, 15 Sep 2023 14:08:30 +0530 Subject: [PATCH 86/92] feat(appcues): added proxyUrl support --- .../destinations/appcues/db-config.json | 15 ++++++++++++--- .../destinations/appcues/ui-config.json | 9 +++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/configurations/destinations/appcues/db-config.json b/src/configurations/destinations/appcues/db-config.json index 097d29aa0..02b8f95bc 100644 --- a/src/configurations/destinations/appcues/db-config.json +++ b/src/configurations/destinations/appcues/db-config.json @@ -6,6 +6,7 @@ "transformAtV1": "processor", "saveDestinationResponse": true, "includeKeys": [ + "proxyUrl", "accountId", "blacklistedEvents", "whitelistedEvents", @@ -26,17 +27,25 @@ "cordova", "shopify" ], - "supportedMessageTypes": ["identify", "page", "screen", "track"], + "supportedMessageTypes": [ + "identify", + "page", + "screen", + "track" + ], "destConfig": { "defaultConfig": [ + "proxyUrl", "accountId", "blacklistedEvents", "whitelistedEvents", "eventFilteringOption", "oneTrustCookieCategories" ], - "web": ["useNativeSDK"] + "web": [ + "useNativeSDK" + ] }, "secretKeys": [] } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/appcues/ui-config.json b/src/configurations/destinations/appcues/ui-config.json index 1cbbdcc60..41f56960c 100644 --- a/src/configurations/destinations/appcues/ui-config.json +++ b/src/configurations/destinations/appcues/ui-config.json @@ -11,6 +11,15 @@ "regexErrorMessage": "Invalid Account Id", "required": true, "placeholder": "e.g: 81429" + }, + { + "type": "textInput", + "label": "Appcues Javascript SDK Proxy URL", + "value": "proxyUrl", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Please put a valid url", + "required": false, + "footerNote": "Enter your proxy url for hosting appcues JS SDK. By default it is https://fast.appcues.com" } ] }, From 42a76435fa728880bdccd009965824ac5c356e19 Mon Sep 17 00:00:00 2001 From: mihir-4116 Date: Fri, 15 Sep 2023 14:38:10 +0530 Subject: [PATCH 87/92] chore: code review changes --- src/configurations/destinations/appcues/db-config.json | 2 +- src/configurations/destinations/appcues/ui-config.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/configurations/destinations/appcues/db-config.json b/src/configurations/destinations/appcues/db-config.json index 02b8f95bc..96230147a 100644 --- a/src/configurations/destinations/appcues/db-config.json +++ b/src/configurations/destinations/appcues/db-config.json @@ -35,7 +35,6 @@ ], "destConfig": { "defaultConfig": [ - "proxyUrl", "accountId", "blacklistedEvents", "whitelistedEvents", @@ -43,6 +42,7 @@ "oneTrustCookieCategories" ], "web": [ + "proxyUrl", "useNativeSDK" ] }, diff --git a/src/configurations/destinations/appcues/ui-config.json b/src/configurations/destinations/appcues/ui-config.json index 41f56960c..3557a37f9 100644 --- a/src/configurations/destinations/appcues/ui-config.json +++ b/src/configurations/destinations/appcues/ui-config.json @@ -19,7 +19,7 @@ "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", "regexErrorMessage": "Please put a valid url", "required": false, - "footerNote": "Enter your proxy url for hosting appcues JS SDK. By default it is https://fast.appcues.com" + "footerNote": "Enter your proxy url for hosting appcues JS SDK. By default it is https://fast.appcues.com/${your_account_id}.js" } ] }, From a060b4f7c11467ff033cb202d831c811a9ba6aff Mon Sep 17 00:00:00 2001 From: a-rampalli Date: Fri, 15 Sep 2023 14:50:13 +0530 Subject: [PATCH 88/92] chore: updates intercom to 8.1.12 --- src/configurations/sources/singer_intercom/db-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/singer_intercom/db-config.json b/src/configurations/sources/singer_intercom/db-config.json index 424609aa3..3b517f3eb 100644 --- a/src/configurations/sources/singer_intercom/db-config.json +++ b/src/configurations/sources/singer_intercom/db-config.json @@ -3,7 +3,7 @@ "category": "singer-protocol", "displayName": "Intercom", "options": { - "image": "rudderstack/source-intercom:v7.0.1" + "image": "rudderstack/source-intercom:v8.1.12" }, "type": "cloudSource" } From c696c2c1da6ae8450562565837cf11f60b9055ea Mon Sep 17 00:00:00 2001 From: Anant Jain <62471433+anantjain45823@users.noreply.github.com> Date: Fri, 15 Sep 2023 15:09:40 +0530 Subject: [PATCH 89/92] feat(INT-523): update customerIo UI config to convert datacenter field t dropdown (#880) --- .../destinations/customerio/db-config.json | 4 +-- .../destinations/customerio/schema.json | 20 ++++-------- .../destinations/customerio/ui-config.json | 30 ++++++++++++----- .../validation/destinations/customerio.json | 32 +++++++------------ 4 files changed, 42 insertions(+), 44 deletions(-) diff --git a/src/configurations/destinations/customerio/db-config.json b/src/configurations/destinations/customerio/db-config.json index b1ae5e6bf..47207c3c5 100644 --- a/src/configurations/destinations/customerio/db-config.json +++ b/src/configurations/destinations/customerio/db-config.json @@ -10,7 +10,7 @@ "includeKeys": [ "apiKey", "siteID", - "datacenterEU", + "datacenter", "blacklistedEvents", "whitelistedEvents", "oneTrustCookieCategories", @@ -36,7 +36,7 @@ "defaultConfig": [ "apiKey", "siteID", - "datacenterEU", + "datacenter", "deviceTokenEventName", "blacklistedEvents", "whitelistedEvents", diff --git a/src/configurations/destinations/customerio/schema.json b/src/configurations/destinations/customerio/schema.json index c0a5a2883..b158475ff 100644 --- a/src/configurations/destinations/customerio/schema.json +++ b/src/configurations/destinations/customerio/schema.json @@ -1,10 +1,7 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "required": [ - "siteID", - "apiKey" - ], + "required": ["siteID", "apiKey"], "type": "object", "properties": { "siteID": { @@ -19,9 +16,10 @@ "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" }, - "datacenterEU": { - "type": "boolean", - "default": false + "datacenter": { + "type": "string", + "enum": ["US", "EU"], + "default": "US" }, "sendPageNameInSDK": { "type": "object", @@ -41,11 +39,7 @@ }, "eventFilteringOption": { "type": "string", - "enum": [ - "disable", - "whitelistedEvents", - "blacklistedEvents" - ], + "enum": ["disable", "whitelistedEvents", "blacklistedEvents"], "default": "disable" }, "whitelistedEvents": { @@ -86,4 +80,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/configurations/destinations/customerio/ui-config.json b/src/configurations/destinations/customerio/ui-config.json index 58ecda6b1..82c99cb8b 100644 --- a/src/configurations/destinations/customerio/ui-config.json +++ b/src/configurations/destinations/customerio/ui-config.json @@ -28,21 +28,35 @@ "regex": "^(.{0,100})$", "regexErrorMessage": "Invalid Event Name", "placeholder": "e.g: device_token_registered", - "footerNote": "This event should be fired just after setting device token to enable sending device tokens to CustomerIO immediately." + "footerNote": "This event should be fired just after setting device token to enable sending device tokens to Customer.io immediately." }, { - "type": "checkbox", - "label": "Account based in the EU data center?", - "value": "datacenterEU", - "default": false, - "footerNote": "Turn it ON if you want to send data to EU servers" + "type": "singleSelect", + "label": "Data Center", + "value": "datacenter", + "mode": "single", + "options": [ + { + "name": "US", + "value": "US" + }, + { + "name": "EU", + "value": "EU" + } + ], + "defaultOption": { + "name": "US", + "value": "US" + }, + "footerNote": "Select your Customer.io Data Center" }, { "type": "checkbox", "label": "Send Page Name in SDK mode", "value": "sendPageNameInSDK", "default": true, - "footerNote": "Turn it OFF if you don't want to send the page name when connected in device mode. If OFF page name will automatically be captured by CustomerIo." + "footerNote": "Turn it OFF if you don't want to send the page name when connected in device mode. If OFF page name will automatically be captured by Customer.io." } ] }, @@ -132,4 +146,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/test/data/validation/destinations/customerio.json b/test/data/validation/destinations/customerio.json index 3e95eafc4..57c027e88 100644 --- a/test/data/validation/destinations/customerio.json +++ b/test/data/validation/destinations/customerio.json @@ -4,7 +4,7 @@ "siteID": "95bd1331112976i0ff9b", "apiKey": "95bd1331112976i0ff9b", "deviceTokenEventName": "device_token_registered", - "datacenterEU": false, + "datacenter": "US", "eventFilteringOption": "disable", "whitelistedEvents": [ { @@ -34,7 +34,7 @@ "config": { "apiKey": "95bd1331112976i0ff9b", "deviceTokenEventName": "device_token_registered", - "datacenterEU": false, + "datacenter": "US", "eventFilteringOption": "whitelistedEvents", "whitelistedEvents": [ { @@ -59,16 +59,14 @@ ] }, "result": false, - "err": [ - " must have required property 'siteID'" - ] + "err": [" must have required property 'siteID'"] }, { "config": { "siteID": "95bd1331112976i0ff9b", "apiKey": "95bd1330072974f0ff9b", "deviceTokenEventName": "device_location_registered", - "datacenterEU": true, + "datacenter": "EU", "whitelistedEvents": [ { "eventName": "practice" @@ -98,14 +96,11 @@ "siteID": "15bd1331112976i0ff9b", "apiKey": "15bd1331112976i0ff9b", "deviceTokenEventName": "device_id_removed", - "datacenterEU": false, + "datacenter": "US", "eventFilteringOption": "disable", "whitelistedEvents": [ { - "eventName": [ - "e1", - "v1" - ] + "eventName": ["e1", "v1"] } ], "blacklistedEvents": [ @@ -126,16 +121,14 @@ ] }, "result": false, - "err": [ - "whitelistedEvents.0.eventName must be string" - ] + "err": ["whitelistedEvents.0.eventName must be string"] }, { "config": { "siteID": "95bd1331112976i0ff9b", "apiKey": "95bd1331112976i0ff9b", "deviceTokenEventName": "device_token_registered", - "datacenterEU": "Germany", + "datacenter": "EU", "eventFilteringOption": "disable", "useNativeSDK": { "web": false @@ -149,17 +142,14 @@ } ] }, - "result": false, - "err": [ - "datacenterEU must be boolean" - ] + "result": true }, { "config": { "siteID": "95bd1331112976i0ff9b", "apiKey": "95bd1331112976i0ff9b", "deviceTokenEventName": "qwsafpmznjhbfjhchdgeiuudhwgvdfkzxuiookaghhrytedhgfgjslalapooiqnbvemixuhevvsjklodjdokhuijghqwnvzxccdwsalkijediwhfwibkjnkji", - "datacenterEU": true, + "datacenter": "EU", "eventFilteringOption": "disable", "useNativeSDK": { "web": false @@ -178,4 +168,4 @@ "deviceTokenEventName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\"" ] } -] \ No newline at end of file +] From 70a17f663887377f4e4625091585396ec1521820 Mon Sep 17 00:00:00 2001 From: Anant Jain <62471433+anantjain45823@users.noreply.github.com> Date: Fri, 15 Sep 2023 16:13:26 +0530 Subject: [PATCH 90/92] fix(INT-568): slack send event to event specific channel using webhooks (#895) --- .../destinations/slack/db-config.json | 13 +- .../destinations/slack/schema.json | 166 +++++++++++------- .../destinations/slack/ui-config.json | 62 ++++++- test/data/validation/destinations/slack.json | 67 ++++++- 4 files changed, 223 insertions(+), 85 deletions(-) diff --git a/src/configurations/destinations/slack/db-config.json b/src/configurations/destinations/slack/db-config.json index 317b7585f..6ccebae6e 100644 --- a/src/configurations/destinations/slack/db-config.json +++ b/src/configurations/destinations/slack/db-config.json @@ -5,7 +5,9 @@ "transformAt": "processor", "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories"], + "includeKeys": [ + "oneTrustCookieCategories" + ], "excludeKeys": [], "supportedSourceTypes": [ "android", @@ -20,17 +22,22 @@ "cordova", "shopify" ], - "supportedMessageTypes": ["identify", "track"], + "supportedMessageTypes": [ + "identify", + "track" + ], "destConfig": { "defaultConfig": [ "eventChannelSettings", + "incomingWebhooksType", "identifyTemplate", "eventTemplateSettings", "webhookUrl", "whitelistedTraitsSettings", + "blacklistedEvents", "oneTrustCookieCategories" ] }, "secretKeys": [] } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/slack/schema.json b/src/configurations/destinations/slack/schema.json index 2da9b1f05..a6a85847e 100644 --- a/src/configurations/destinations/slack/schema.json +++ b/src/configurations/destinations/slack/schema.json @@ -1,75 +1,107 @@ { - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "required": ["webhookUrl"], - "type": "object", - "properties": { - "eventChannelSettings": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "required": [ + "webhookUrl" + ], + "type": "object", + "properties": { + "incomingWebhooksType": { + "type": "string", + "enum": [ + "legacy", + "modern" + ], + "default": "legacy" }, - "eventChannel": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "eventChannelSettings": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "eventChannelWebhook": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" + }, + "eventChannel": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "eventRegex": { + "type": "boolean", + "default": false + } + } + } }, - "eventRegex": { "type": "boolean", "default": false } - } - } - }, - "identifyTemplate": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" - }, - "eventTemplateSettings": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "identifyTemplate": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" }, - "eventTemplate": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" + "eventTemplateSettings": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "eventTemplate": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" + }, + "eventRegex": { + "type": "boolean", + "default": false + } + } + } }, - "eventRegex": { "type": "boolean", "default": false } - } - } - }, - "webhookUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" - }, - "whitelistedTraitsSettings": { - "type": "array", - "items": { - "type": "object", - "properties": { - "trait": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "oneTrustCookieCategories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + "webhookUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" + }, + "whitelistedTraitsSettings": { + "type": "array", + "items": { + "type": "object", + "properties": { + "trait": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } } - } } - } } - } -} +} \ No newline at end of file diff --git a/src/configurations/destinations/slack/ui-config.json b/src/configurations/destinations/slack/ui-config.json index 6c4f8fc4c..5ff00c926 100644 --- a/src/configurations/destinations/slack/ui-config.json +++ b/src/configurations/destinations/slack/ui-config.json @@ -3,6 +3,27 @@ { "title": "Event Channels", "fields": [ + { + "type": "singleSelect", + "label": "Type of incoming webhooks", + "value": "incomingWebhooksType", + "mode": "single", + "options": [ + { + "name": "Legacy (Will be deprecated soon)", + "value": "legacy" + }, + { + "name": "Modern (through app)", + "value": "modern" + } + ], + "defaultOption": { + "name": "Legacy", + "value": "legacy" + }, + "footerNote": "If legacy is choosed then channel mapping will be done based on channel name else it will be done based on channel webhook" + }, { "type": "dynamicCustomForm", "value": "eventChannelSettings", @@ -18,12 +39,23 @@ }, { "type": "textInput", - "label": "Event Channel", + "label": "Event Channel Webhook", + "value": "eventChannelWebhook", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Invalid Event Channel Webhook", + "required": false, + "placeholder": "e.g: https://hooks.slack.com/services/placeholder_1/placeholder_2/placeholder_3", + "footerNote": "Required for Modern API" + }, + { + "type": "textInput", + "label": "Event Channel Name", "value": "eventChannel", "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "regexErrorMessage": "Invalid Event Channel", + "regexErrorMessage": "Invalid Event Channel Name", "required": false, - "placeholder": "e.g: ABCDEFG" + "placeholder": "e.g: ABCDEFG", + "footerNote": "Required for legacy API" }, { "type": "checkbox", @@ -94,7 +126,7 @@ "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", "regexErrorMessage": "Invalid Webhook Url", "required": true, - "placeholder": "e.g: ABCDEFG" + "placeholder": "e.g: https://hooks.slack.com/services/placeholder1/placeholder2/placeholder3" } ] }, @@ -112,7 +144,25 @@ "regex": "^(.{0,100})$", "regexErrorMessage": "Invalid Trait", "required": false, - "placeholder": "e.g: ABCDEFG" + "placeholder": "e.g: lastName" + } + ] + } + ] + }, + { + "title": "Blacklisted Events", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "customFields": [ + { + "type": "textInput", + "label": "Event Name", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" } ] } @@ -138,4 +188,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/test/data/validation/destinations/slack.json b/test/data/validation/destinations/slack.json index 990a6e76a..cc0691289 100644 --- a/test/data/validation/destinations/slack.json +++ b/test/data/validation/destinations/slack.json @@ -3,9 +3,29 @@ "config": { "identifyTemplate": "", "webhookUrl": "", - "eventChannelSettings": [{ "eventName": "", "eventChannel": "", "eventRegex": false }], - "eventTemplateSettings": [{ "eventName": "", "eventTemplate": "", "eventRegex": false }], - "whitelistedTraitsSettings": [{ "trait": "" }] + "eventChannelSettings": [ + { + "eventName": "", + "eventChannel": "", + "eventChannelWebhook": "", + "eventRegex": false + } + ], + "eventTemplateSettings": [ + { + "eventName": "", + "eventTemplate": "", + "eventRegex": false + } + ], + "whitelistedTraitsSettings": [ + { + "trait": "" + } + ], + "blacklistedEvents": [ + {} + ] }, "result": true }, @@ -14,7 +34,12 @@ "identifyTemplate": "", "webhookUrl": "https://hooks.slack.com/services/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", "eventChannelSettings": [ - { "eventName": "XYZ", "eventChannel": "@srikanth", "eventRegex": false } + { + "eventName": "XYZ", + "eventChannel": "@srikanth", + "eventChannelWebhook": "https://hooks.slack.com/services/e1/e2/e3", + "eventRegex": false + } ], "eventTemplateSettings": [ { @@ -23,17 +48,37 @@ "eventRegex": false } ], - "whitelistedTraitsSettings": [{ "trait": "" }] + "whitelistedTraitsSettings": [ + { + "trait": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "abc" + } + ] + }, + "result": true + }, + { + "config": { + "identifyTemplate": "", + "webhookUrl": "" }, "result": true }, - { "config": { "identifyTemplate": "", "webhookUrl": "" }, "result": true }, { "config": { "identifyTemplate": "", "webhookUrl": "https://hooks.slack.com/services/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", "eventChannelSettings": [ - { "eventName": "XYZ", "eventChannel": "@srikanth", "eventRegex": false } + { + "eventName": "XYZ", + "eventChannel": "@srikanth", + "eventChannelWebhook": "https://hooks.slack.com/services/e1/e2/e3", + "eventRegex": false + } ], "eventTemplateSettings": [ { @@ -42,7 +87,11 @@ "eventRegex": "false" } ], - "whitelistedTraitsSettings": [{ "trait": "" }] + "whitelistedTraitsSettings": [ + { + "trait": "" + } + ] }, "result": false, "err": [ @@ -50,4 +99,4 @@ "eventTemplateSettings.0.eventRegex must be boolean" ] } -] +] \ No newline at end of file From 2ee06a26b5e08a57e88dcae1e808bd115d8c1717 Mon Sep 17 00:00:00 2001 From: mihir-4116 Date: Fri, 15 Sep 2023 16:32:34 +0530 Subject: [PATCH 91/92] chore: code review changes --- src/configurations/destinations/appcues/ui-config.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/configurations/destinations/appcues/ui-config.json b/src/configurations/destinations/appcues/ui-config.json index 3557a37f9..0e4d8c193 100644 --- a/src/configurations/destinations/appcues/ui-config.json +++ b/src/configurations/destinations/appcues/ui-config.json @@ -14,12 +14,12 @@ }, { "type": "textInput", - "label": "Appcues Javascript SDK Proxy URL", - "value": "proxyUrl", + "label": "Appcues Javascript Native SDK URL", + "value": "nativeSdkUrl", "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", "regexErrorMessage": "Please put a valid url", "required": false, - "footerNote": "Enter your proxy url for hosting appcues JS SDK. By default it is https://fast.appcues.com/${your_account_id}.js" + "footerNote": "Enter your native appcues JS SDK url for hosting appcues JS SDK. By default it is https://fast.appcues.com/${your_account_id}.js" } ] }, From 3143e684ff83538d66419374e76d1b859544ce37 Mon Sep 17 00:00:00 2001 From: mihir-4116 Date: Fri, 15 Sep 2023 16:32:59 +0530 Subject: [PATCH 92/92] chore: code review changes --- src/configurations/destinations/appcues/db-config.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/configurations/destinations/appcues/db-config.json b/src/configurations/destinations/appcues/db-config.json index 96230147a..a257bb85e 100644 --- a/src/configurations/destinations/appcues/db-config.json +++ b/src/configurations/destinations/appcues/db-config.json @@ -6,7 +6,7 @@ "transformAtV1": "processor", "saveDestinationResponse": true, "includeKeys": [ - "proxyUrl", + "nativeSdkUrl", "accountId", "blacklistedEvents", "whitelistedEvents", @@ -42,7 +42,7 @@ "oneTrustCookieCategories" ], "web": [ - "proxyUrl", + "nativeSdkUrl", "useNativeSDK" ] },