-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: onboarding customerio segment #1853
base: develop
Are you sure you want to change the base?
Conversation
WalkthroughA new destination configuration for Customer.io Segment has been introduced, involving three JSON configuration files: a database configuration, a schema validation file, and a user interface configuration. These files collectively define the integration settings, connection parameters, and UI representation for the Customer.io Segment destination. The configuration supports advanced features like consent management, connection modes, and detailed validation rules for various input parameters. Changes
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #1853 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 2 2
Lines 53 53
Branches 7 7
=========================================
Hits 53 53 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 5
🧹 Nitpick comments (4)
src/configurations/destinations/customerio_segment/db-config.json (1)
5-11
: Consider adding data validation feature flagThe destination handles sensitive API keys and customer data. Consider adding the
validateDataFormat
feature flag for enhanced data validation."features": [ - "vdm-next" + "vdm-next", + "validateDataFormat" ],src/configurations/destinations/customerio_segment/schema.json (1)
74-80
: Add pattern validation for resolutionStrategyThe
resolutionStrategy
field lacks pattern validation for environment variables.Add pattern validation:
"resolutionStrategy": { "type": "string", - "enum": ["and", "or"] + "enum": ["and", "or"], + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(and|or)$" }src/configurations/destinations/customerio_segment/ui-config.json (2)
138-146
: Simplify duplicate feature flag conditionsThe feature flags array contains duplicate entries with different values.
Simplify the conditions:
"featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } + { + "configKey": "AMP_enable-gcm", + "value": false + } ],
22-22
: Standardize placeholder formatThe placeholder format is inconsistent across fields. Some use "e.g:" while others use "e.g.".
Standardize the format:
- "placeholder": "e.g: 88f02580XXXXXXXcf18", + "placeholder": "e.g., 88f02580XXXXXXXcf18",Also applies to: 32-32, 42-42
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
src/configurations/destinations/customerio_segment/db-config.json
(1 hunks)src/configurations/destinations/customerio_segment/schema.json
(1 hunks)src/configurations/destinations/customerio_segment/ui-config.json
(1 hunks)
"ketchConsentPurposes" | ||
] | ||
}, | ||
"secretKeys": ["appApiKey", "apiKey"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Add siteId
to secretKeys array for consistent security configuration
Based on the UI configuration, siteId
is marked with "secret": true
in the UI, but is missing from the secretKeys
array in the db-config.json. This inconsistency should be fixed by adding siteId
to maintain proper security handling across the configuration.
src/configurations/destinations/customerio_segment/db-config.json
: AddsiteId
to thesecretKeys
array
🔗 Analysis chain
Verify consistency of secret keys configuration
The secretKeys
array includes appApiKey
and apiKey
but excludes siteId
, which is marked as secret in the UI configuration.
Add siteId
to the secretKeys array:
- "secretKeys": ["appApiKey", "apiKey"]
+ "secretKeys": ["appApiKey", "apiKey", "siteId"]
Let me verify the consistency between secret keys configuration and UI fields by searching through the codebase.
Let me search specifically for UI configuration that marks the siteId as secret.
🏁 Scripts executed
The following scripts were executed for the analysis:
Error: No shell scripts found
Script:
#!/bin/bash
# Search for UI configuration files related to customerio_segment
fd customerio_segment --type f
# Search for siteId configuration in the found files
rg "siteId" --type json
Length of output: 8732
Script:
#!/bin/bash
# Check UI configuration for customerio_segment
cat src/configurations/destinations/customerio_segment/ui-config.json
Length of output: 8861
What are the changes introduced in this PR?
Write a brief explainer on your code changes.
What is the related Linear task?
Resolves INT-XXX
Please explain the objectives of your changes below
Put down any required details on the broader aspect of your changes. If there are any dependent changes, mandatorily mention them here
Any changes to existing capabilities/behaviour, mention the reason & what are the changes ?
N/A
Any new dependencies introduced with this change?
N/A
Any new checks got introduced or modified in test suites. Please explain the changes.
N/A
Developer checklist
My code follows the style guidelines of this project
No breaking changes are being introduced.
All related docs linked with the PR?
All changes manually tested?
Any documentation changes needed with this change?
I have executed schemaGenerator tests and updated schema if needed
Are sensitive fields marked as secret in definition config?
My test cases and placeholders use only masked/sample values for sensitive fields
Is the PR limited to 10 file changes & one task?
Reviewer checklist
Is the type of change in the PR title appropriate as per the changes?
Verified that there are no credentials or confidential data exposed with the changes.
Summary by CodeRabbit
New Features
Documentation