-
Notifications
You must be signed in to change notification settings - Fork 5.5k
[Components] redcircle_api #10929 #18376
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
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
WalkthroughAdds three Redcircle API actions (Get Account Data, Search Categories, Add Zipcode), extends the app with prop definitions and HTTP request helpers for corresponding endpoints, sets a base URL, removes authKeys, and updates package.json version and dependency. Changes
Sequence Diagram(s)sequenceDiagram
participant U as User/Runner
participant A as Action: Get Account Data
participant APP as Redcircle App
participant API as Redcircle API
U->>A: Execute
A->>APP: getAccountData({ $ })
APP->>API: GET /account?api_key=...
API-->>APP: 200 Account JSON
APP-->>A: Response
A-->>U: Summary + Response
sequenceDiagram
participant U as User/Runner
participant A as Action: Search Categories
participant APP as Redcircle App
participant API as Redcircle API
U->>A: Execute with searchTerm
A->>APP: searchCategories({ $, params:{search_term} })
APP->>API: GET /categories?search_term=...&api_key=...
API-->>APP: 200 Categories JSON
APP-->>A: Response
A-->>U: Summary (count) + Response
sequenceDiagram
participant U as User/Runner
participant A as Action: Add Zipcode
participant APP as Redcircle App
participant API as Redcircle API
U->>A: Execute with zipcode, domain
A->>APP: addZipcode({ $, data:[{zipcode, domain}] })
APP->>API: POST /zipcodes (api_key, body)
API-->>APP: 2xx Result
APP-->>A: Response
A-->>U: Summary + Response
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests
Tip 👮 Agentic pre-merge checks are now available in preview!Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.
Please see the documentation for more information. Example: reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"
mode: "warning"
instructions: |
Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal). Please share your feedback with us on this Discord post. 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. Comment |
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: 0
🧹 Nitpick comments (3)
components/redcircle_api/actions/search-categories/search-categories.mjs (2)
6-6
: Fix typo in description."Redcirle" should be "RedCircle" to match the proper brand name.
- description: "Search for a category in Redcirle API. [See the documentation](https://docs.trajectdata.com/redcircleapi/categories-api/list-and-search)", + description: "Search for a category in RedCircle API. [See the documentation](https://docs.trajectdata.com/redcircleapi/categories-api/list-and-search)",
25-25
: Potential runtime error if response structure is unexpected.The code assumes
response.categories
exists and has alength
property without validation. If the API returns an unexpected structure, this will throw an error.- $.export("$summary", "Successfully sent the request and retrieved " + response.categories.length + " categories"); + $.export("$summary", "Successfully sent the request and retrieved " + (response.categories?.length || 0) + " categories");components/redcircle_api/redcircle_api.app.mjs (1)
6-23
: Improve prop definition descriptions.The descriptions for
zipcode
anddomain
are generic and unhelpful. Consider making them more descriptive.zipcode: { type: "string", label: "Zipcode", - description: "Description for zipcode", + description: "The zipcode to add to your RedCircle API account", }, domain: { type: "string", label: "Domain", - description: "Description for domain", + description: "The domain associated with the zipcode", },
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yaml
is excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (5)
components/redcircle_api/actions/add-zipcode/add-zipcode.mjs
(1 hunks)components/redcircle_api/actions/get-account-data/get-account-data.mjs
(1 hunks)components/redcircle_api/actions/search-categories/search-categories.mjs
(1 hunks)components/redcircle_api/package.json
(2 hunks)components/redcircle_api/redcircle_api.app.mjs
(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2024-12-12T19:23:09.039Z
Learnt from: jcortes
PR: PipedreamHQ/pipedream#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.
Applied to files:
components/redcircle_api/package.json
🧬 Code graph analysis (3)
components/redcircle_api/actions/search-categories/search-categories.mjs (1)
components/redcircle_api/actions/get-account-data/get-account-data.mjs (1)
response
(13-15)
components/redcircle_api/actions/get-account-data/get-account-data.mjs (2)
components/redcircle_api/actions/add-zipcode/add-zipcode.mjs (1)
response
(25-33)components/redcircle_api/actions/search-categories/search-categories.mjs (1)
response
(19-24)
components/redcircle_api/actions/add-zipcode/add-zipcode.mjs (2)
components/redcircle_api/actions/get-account-data/get-account-data.mjs (1)
response
(13-15)components/redcircle_api/actions/search-categories/search-categories.mjs (1)
response
(19-24)
⏰ 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: Lint Code Base
- GitHub Check: Verify TypeScript components
- GitHub Check: Publish TypeScript components
- GitHub Check: pnpm publish
🔇 Additional comments (10)
components/redcircle_api/package.json (2)
3-3
: LGTM! Version bump follows semantic versioning.The version bump from 0.0.1 to 0.1.0 is appropriate for adding new functionality (three new actions and expanded API methods).
15-17
: LGTM! Platform dependency addition is correct.The
@pipedream/platform
dependency is needed for theaxios
import used in the updated app module.components/redcircle_api/actions/get-account-data/get-account-data.mjs (1)
1-19
: LGTM! Clean action implementation.The action follows Pipedream conventions correctly with proper imports, metadata, and async execution pattern. The implementation properly delegates to the app method and exports an appropriate summary.
components/redcircle_api/actions/search-categories/search-categories.mjs (1)
1-28
: Action implementation follows good patterns.The overall structure is clean with proper prop definitions and delegation to the app method.
components/redcircle_api/actions/add-zipcode/add-zipcode.mjs (2)
1-37
: Action implementation is well-structured.The action follows Pipedream conventions with proper imports, prop definitions, and execution flow.
27-32
: No change needed — array wrapping is correct.Docs' example shows POST /zipcodes expects an array of objects (e.g. [ { "zipcode": "65534", "domain": "target.com" } ]), so the current payload is correct:
data: [ { zipcode: this.zipcode, domain: this.domain, }, ],
components/redcircle_api/redcircle_api.app.mjs (4)
1-1
: LGTM! Correct platform import.The axios import from
@pipedream/platform
is the standard approach for Pipedream components.
25-27
: LGTM! Clean base URL implementation.The
_baseUrl()
method follows good practices for API base URL management.
28-43
: Well-designed HTTP request abstraction.The
_makeRequest
method properly handles URL construction, authentication, and parameter merging. The use of destructuring and spread operators is clean.
44-62
: LGTM! API method implementations are consistent.All three API methods follow the same pattern and properly delegate to
_makeRequest
with appropriate path and method configurations.
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 @lcaresia lgtm! Ready for QA!
* Leonardo AI components * added unzoom image action * fixing link errors * more lint fixes * Merging pull request #18359 * fix: pagination prop and params struct * fix: no need for paginate here * chore: update version * chore: cleanup * chore: update package * feat: allow raw response * chore: bump package * fix: buffer response instead * Update components/google_drive/actions/download-file/download-file.mjs Co-authored-by: Jorge Cortes <[email protected]> * versions * pnpm-lock.yaml * pnpm-lock.yaml * pnpm-lock.yaml * feat: add content selector * chore: bump package * fix: comments * chore: bump versions * chore: fix versions * fixes: QA fixes * feat: add cursor to req * package.json --------- Co-authored-by: joao <[email protected]> Co-authored-by: joaocoform <[email protected]> Co-authored-by: Jorge Cortes <[email protected]> Co-authored-by: Michelle Bergeron <[email protected]> Co-authored-by: Luan Cazarine <[email protected]> * Merging pull request #18361 * update siteId prop * pnpm-lock.yaml * package.json version * Google Sheets - update row refresh fields (#18369) * change prop order and refresh fields * bump package.json * Pipedrive - fix app name (#18370) * use pipedriveApp instead of app * bump package.json * Pipedrive - pipelineId integer (#18372) * pipelineId - integer * bump versions * Adding app scaffolding for lightspeed_ecom_c_series * Adding app scaffolding for financial_data * Adding app scaffolding for microsoft_authenticator * Merging pull request #18345 * updates * versions * versions * Merging pull request #18368 * updates * remove console.log * versions * Coinbase Developer Platform - New Wallet Event (#18342) * new component * pnpm-lock.yaml * updates * updates * Hubspot - update search-crm (#18360) * update search-crm * limit results to one page * update version * package.json version * Merging pull request #18347 * widget props * fix version * Adding app scaffolding for rundeck * Merging pull request #18378 * Update Taiga component with new actions and sources - Bump version to 0.1.0 in package.json and add dependency on @pipedream/platform. - Introduce new actions for creating, updating, and deleting issues, tasks, and user stories. - Add sources for tracking changes and deletions of issues and tasks. - Implement utility functions for parsing and cleaning objects in common/utils.mjs. - Enhance prop definitions for better integration with Taiga API. * pnpm update * Refactor Taiga actions to utilize parseObject utility - Added parseObject utility for tags, watchers, and points in update-issue, update-task, and update-userstory actions. - Removed the update-project action as it is no longer needed. - Enhanced base source to include secret key validation for webhook security. * Merging pull request #18382 * add testSources prop * pnpm-lock.yaml * fix * Merging pull request #18323 * Added actions * Added actions * Added actions * Merging pull request #18377 * Added actions * Update components/weaviate/actions/create-class/create-class.mjs Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Luan Cazarine <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Merging pull request #18376 * Adding app scaffolding for etrusted * Adding app scaffolding for intelliflo_office * Adding app scaffolding for thoughtspot * Adding app scaffolding for kordiam * Adding app scaffolding for ticketsauce * trustpilot fixes (#18152) * trustpilot fixes * more fixes * update versions * more version updates * fixes * Bump all Trustpilot actions to version 0.1.0 Major improvements and API updates across all actions: - Enhanced private API support with proper authentication - Improved parameter handling and validation - Better error handling and response structures - Added new conversation flow for product reviews - Fixed endpoint URLs to match latest API documentation - Streamlined request/response processing 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> * up version and clean up sources * merge * fix business ID * delete temp action * Update components/trustpilot/sources/new-product-reviews/new-product-reviews.mjs Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update components/trustpilot/sources/new-product-reviews/new-product-reviews.mjs Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update components/trustpilot/sources/new-product-reviews/new-product-reviews.mjs Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update components/trustpilot/sources/new-service-reviews/new-service-reviews.mjs Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * comments * Pagination * fixes * comments * missed some `$`'s * unduplicated * more fixes * final comments * more comments * . --------- Co-authored-by: Claude <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Adding app scaffolding for peekalink * 18314 twilio (#18350) * Update Twilio component versions and dependencies - Update Twilio Send Message action adding detailed description for 'from' prop and refactoring phone number validation logic. - Incremented action versions for several Twilio actions. * pnpm update * Updating LinkedIn API version (#18399) * Merging pull request #18394 * Databricks API - Jobs action components (#18371) * Notion property building improvements (#18381) * validate property types * versions * Google Business - add debug log (#18407) * add debug log * bump versions * Notion API Key - update @pipedream/notion version (#18409) * update @pipedream/notion dependency version * pnpm-lock.yaml * Adding app scaffolding for reduct_video * Adding app scaffolding for shopware * Adding app scaffolding for instamojo * Hubspot - bug fix to sources w/ property changes (#18379) * updates * versions * Google sheets type fix (#18411) * Fixing worksheetId prop type from string to integer * Version bumps --------- Co-authored-by: Leo Vu <[email protected]> * Merging pull request #18393 * new components * remove console.log * versions * update * Merging pull request #18408 * 403 error message * versions * update * Merging pull request #18419 * Changes per PR Review * Removes leonardo_ai_actions.mdc not indented for merging * synced lockfile after install * fully lock form-data for leonardo_ai * conflict solving * lint fixes * Chipped down Readme, implemented async options in gen motion --------- Co-authored-by: jocarino <[email protected]> Co-authored-by: joao <[email protected]> Co-authored-by: joaocoform <[email protected]> Co-authored-by: Jorge Cortes <[email protected]> Co-authored-by: Michelle Bergeron <[email protected]> Co-authored-by: Luan Cazarine <[email protected]> Co-authored-by: michelle0927 <[email protected]> Co-authored-by: Andrew Chuang <[email protected]> Co-authored-by: danhsiung <[email protected]> Co-authored-by: Lucas Caresia <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Job <[email protected]> Co-authored-by: Claude <[email protected]> Co-authored-by: Guilherme Falcão <[email protected]> Co-authored-by: Leo Vu <[email protected]>
WHY
Summary by CodeRabbit