-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New Component - hubspot #17826
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
New Component - hubspot #17826
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎ |
WalkthroughA new HubSpot action module for creating notes has been added, allowing users to create note objects in HubSpot CRM and optionally associate them with other objects. The module includes input validation, property formatting, and API interaction logic. Additionally, the package version was incremented from 1.2.4 to 1.3.0. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant CreateNoteAction
participant HubSpotAPI
User->>CreateNoteAction: Provide note details and optional associations
CreateNoteAction->>CreateNoteAction: Validate input and format properties
CreateNoteAction->>HubSpotAPI: POST /crm/v3/objects/notes with note data
HubSpotAPI-->>CreateNoteAction: Return created note object
CreateNoteAction-->>User: Return summary and created note
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Assessment against linked issues
Assessment against linked issues: Out-of-scope changes
Poem
Note ⚡️ Unit Test Generation is now available in beta!Learn more here, or try it out under "Finishing Touches" below. ✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. 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 (
|
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: 1
🧹 Nitpick comments (1)
components/hubspot/actions/create-note/create-note.mjs (1)
67-82: LGTM! Good validation logic with minor suggestion.The function properly destructures props and validates that association parameters are provided together. Consider making the error message more descriptive for better user experience.
- throw new ConfigurationError("Both `toObjectId` and `associationType` must be entered"); + throw new ConfigurationError("Both `Associated Object` and `Association Type` must be provided together, or neither should be provided");
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (2)
components/hubspot/actions/create-note/create-note.mjs(1 hunks)components/hubspot/package.json(1 hunks)
🧰 Additional context used
🧠 Learnings (2)
components/hubspot/package.json (1)
Learnt from: jcortes
PR: #14935
File: components/sailpoint/package.json:15-18
Timestamp: 2024-12-12T19:23:09.039Z
Learning: When developing Pipedream components, do not add built-in Node.js modules like fs to package.json dependencies, as they are native modules provided by the Node.js runtime.
components/hubspot/actions/create-note/create-note.mjs (1)
Learnt from: jcortes
PR: #14467
File: components/gainsight_px/actions/create-account/create-account.mjs:4-6
Timestamp: 2024-10-30T15:24:39.294Z
Learning: In components/gainsight_px/actions/create-account/create-account.mjs, the action name should be "Create Account" instead of "Create Memory".
🧬 Code Graph Analysis (1)
components/hubspot/actions/create-note/create-note.mjs (1)
components/hubspot/common/constants.mjs (1)
ASSOCIATION_CATEGORY(31-35)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: pnpm publish
- GitHub Check: Lint Code Base
- GitHub Check: Publish TypeScript components
- GitHub Check: Verify TypeScript components
🔇 Additional comments (8)
components/hubspot/package.json (1)
3-3: LGTM! Version bump aligns with new functionality.The minor version increment from 1.2.4 to 1.3.0 appropriately reflects the addition of the new "Create Note" action, following semantic versioning conventions.
components/hubspot/actions/create-note/create-note.mjs (7)
1-3: LGTM! Proper imports for the action.The imports correctly bring in the common create functionality, error handling, and the necessary constants. The use of relative paths and platform utilities follows Pipedream conventions.
5-11: LGTM! Well-structured action metadata.The action follows Pipedream conventions with proper key naming, descriptive name matching the PR objectives, documentation reference, and appropriate versioning for a new action.
12-47: LGTM! Well-designed props with proper dependencies.The props structure effectively uses Pipedream's propDefinition pattern to create dependent dropdowns. The optional association props (toObjectType, toObjectId, associationType) work together logically, with proper dependency relationships.
48-66: LGTM! Methods correctly implement note-specific logic.The methods properly extend common functionality with note-specific behavior. The
isRelevantPropertymethod appropriately filters out pipeline properties, andcreateEngagementcorrectly structures the HubSpot API call.
83-87: LGTM! Flexible property handling.The code properly handles objectProperties as either a JSON string or object, providing good flexibility for users while maintaining the existing otherProperties fallback pattern.
91-105: LGTM! Correct association structure for HubSpot API.The associations array is properly structured according to HubSpot's API requirements, using the imported ASSOCIATION_CATEGORY constant and conditional creation based on toObjectId presence.
111-116: LGTM! Proper API call and response handling.The function correctly calls the createEngagement method, exports an appropriate summary message, and returns the engagement object as expected.
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.
Hi @michelle0927 lgtm! Ready for QA!
Resolves #17432
Summary by CodeRabbit