-
Notifications
You must be signed in to change notification settings - Fork 5.5k
[Components] Pipedream - new components #18909
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
base: master
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
WalkthroughAdds four Pipedream REST action modules, extends Changes
Sequence Diagram(s)sequenceDiagram
participant User as User / Workflow
participant Action as Action Module
participant App as pipedream.app
participant API as Pipedream REST API
Note over Action,App: New action modules delegate to app methods
User->>Action: Trigger action (props: app, appId/key/query...)
Action->>App: call getApp / listApps / getComponentFromRegistry / searchComponents(...)
App->>API: _makeAPIRequest(path, params, headers)
API-->>App: JSON response
App-->>Action: returns response
Action->>Action: export $summary (status / count / id)
Action-->>User: return full response
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning, 2 inconclusive)
✅ Passed checks (1 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (11)
🚧 Files skipped from review as they are similar to previous changes (7)
🧰 Additional context used🧠 Learnings (2)📚 Learning: 2024-12-12T19:23:09.039ZApplied to files:
📚 Learning: 2025-09-15T22:01:11.472ZApplied to files:
🧬 Code graph analysis (2)components/pipedream/actions/get-component-from-global-registry/get-component-from-global-registry.mjs (3)
components/pipedream/pipedream.app.mjs (5)
⏰ 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)
🔇 Additional comments (8)
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: 2
🧹 Nitpick comments (1)
components/pipedream/actions/list-apps/list-apps.mjs (1)
42-48: Clarify thetoNumbermethod logic.The method converts truthy values to the string
"1"but passes through falsy values unchanged. This could result in inconsistent parameter types being sent to the API (e.g.,false,0,undefined). Consider either:
- Converting falsy values to
undefinedso they're excluded from the request (based on learnings about axios automatic exclusion)- Explicitly returning
undefinedor"0"for falsy valuesApply this diff to handle falsy values consistently:
methods: { toNumber(value) { return value === "1" || value === 1 || value === "true" || value === true ? "1" - : value; + : undefined; }, },
📜 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 (6)
components/pipedream/actions/get-app/get-app.mjs(1 hunks)components/pipedream/actions/get-component-from-global-registry/get-component-from-global-registry.mjs(1 hunks)components/pipedream/actions/list-apps/list-apps.mjs(1 hunks)components/pipedream/actions/search-for-registry-components/search-for-registry-components.mjs(1 hunks)components/pipedream/package.json(2 hunks)components/pipedream/pipedream.app.mjs(2 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 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/pipedream/package.json
📚 Learning: 2025-09-15T22:01:11.472Z
Learnt from: GTFalcao
PR: PipedreamHQ/pipedream#18362
File: components/leonardo_ai/actions/generate-image/generate-image.mjs:103-105
Timestamp: 2025-09-15T22:01:11.472Z
Learning: In Pipedream components, pipedream/platform's axios implementation automatically excludes undefined values from HTTP requests, so there's no need to manually check for truthiness before including properties in request payloads.
Applied to files:
components/pipedream/package.json
🧬 Code graph analysis (4)
components/pipedream/actions/search-for-registry-components/search-for-registry-components.mjs (4)
components/pipedream/actions/get-app/get-app.mjs (1)
response(30-33)components/pipedream/actions/get-component-from-global-registry/get-component-from-global-registry.mjs (1)
response(30-33)components/pipedream/actions/list-apps/list-apps.mjs (1)
response(59-67)components/pipedream/pipedream.app.mjs (1)
response(78-82)
components/pipedream/actions/list-apps/list-apps.mjs (2)
components/pipedream/actions/search-for-registry-components/search-for-registry-components.mjs (1)
response(63-71)components/pipedream/pipedream.app.mjs (1)
response(78-82)
components/pipedream/actions/get-app/get-app.mjs (4)
components/pipedream/actions/get-component-from-global-registry/get-component-from-global-registry.mjs (1)
response(30-33)components/pipedream/actions/list-apps/list-apps.mjs (1)
response(59-67)components/pipedream/actions/search-for-registry-components/search-for-registry-components.mjs (1)
response(63-71)components/pipedream/pipedream.app.mjs (1)
response(78-82)
components/pipedream/pipedream.app.mjs (4)
components/pipedream/actions/get-app/get-app.mjs (1)
response(30-33)components/pipedream/actions/get-component-from-global-registry/get-component-from-global-registry.mjs (1)
response(30-33)components/pipedream/actions/list-apps/list-apps.mjs (1)
response(59-67)components/pipedream/actions/search-for-registry-components/search-for-registry-components.mjs (1)
response(63-71)
⏰ 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: Publish TypeScript components
- GitHub Check: Verify TypeScript components
- GitHub Check: pnpm publish
- GitHub Check: Lint Code Base
🔇 Additional comments (6)
components/pipedream/actions/search-for-registry-components/search-for-registry-components.mjs (1)
1-76: LGTM!The action is well-structured with appropriate annotations (readOnly, idempotent, openWorld hints). The custom mapper for
appSlugcorrectly transforms the app list to usename_slugas the value, and the search parameters are properly passed to the API.components/pipedream/actions/get-component-from-global-registry/get-component-from-global-registry.mjs (1)
1-43: LGTM!The action properly handles both success and not-found cases by checking for
response.databefore setting the summary. The structure follows Pipedream conventions and annotations are appropriate.components/pipedream/pipedream.app.mjs (3)
64-85: LGTM!The
appIdpropDefinition is well-designed with flexible mapper support, allowing different actions to extract different properties (id vs. name_slug) from the same API response. TheuseQueryflag enables search functionality.
86-126: LGTM!The new propDefinitions are well-structured with clear labels, descriptions, and appropriate types. The optional flags are correctly applied.
205-232: LGTM!The new API methods follow consistent patterns and properly reuse the
_makeAPIRequesthelper. The parameter destructuring and spreading is clean and idiomatic.components/pipedream/package.json (1)
13-13: I'll search for information about the @pipedream/platform version upgrade to identify any breaking changes.Let me search for more specific information about the @pipedream/platform package on NPM.
Let me search for the changelog or migration guide for @pipedream/platform to find specific breaking changes.Based on my verification, I have found that v3.1.0 of @pipedream/platform is a valid version published approximately 4 months ago. The upgrade from ^1.4.1 to ^3.1.0 is a significant major version change. However, despite multiple web searches, I was unable to locate specific breaking change documentation or migration guides for this package version jump in publicly available sources. The package also shows inactive maintenance status with no recent pull request activity, which makes compatibility assessment more challenging.
Without access to concrete breaking change documentation or the ability to inspect the actual code changes in this PR, I cannot definitively confirm whether the upgrade introduces breaking changes or verify if all necessary code adaptations have been made.
Verify @pipedream/platform v3.1.0 compatibility with the components/pipedream package.
The upgrade from ^1.4.1 to ^3.1.0 is a major version jump across two major versions. Web searches did not reveal specific breaking change documentation. You must manually verify: (1) whether the new platform version introduces breaking changes to exported APIs (e.g., axios, utilities); (2) that all usage of @pipedream/platform in this component has been tested with v3.1.0; and (3) that the package maintainers have tested and verified this version compatibility. Consider checking the GitHub repository (PipedreamHQ/platform) for release notes or commit history between these versions if public documentation is unavailable.
92d675f to
dbadd43
Compare
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
♻️ Duplicate comments (2)
components/pipedream/actions/list-apps/list-apps.mjs (1)
69-69: Add defensive null check for API response structure.The code assumes
response.page_info.countexists, which could cause a runtime error if the API returns an unexpected structure. This concern was previously raised.components/pipedream/actions/get-app/get-app.mjs (1)
35-35: Add null check for response consistency.Directly accessing
response.data.idwithout a null check could cause a runtime error if the API returns an unexpected structure. This concern was previously raised.
📜 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 (11)
components/pipedream/actions/create-subscription/create-subscription.mjs(1 hunks)components/pipedream/actions/delete-subscription/delete-subscription.mjs(1 hunks)components/pipedream/actions/generate-component-code/generate-component-code.mjs(1 hunks)components/pipedream/actions/get-app/get-app.mjs(1 hunks)components/pipedream/actions/get-component-from-global-registry/get-component-from-global-registry.mjs(1 hunks)components/pipedream/actions/get-component/get-component.mjs(1 hunks)components/pipedream/actions/list-apps/list-apps.mjs(1 hunks)components/pipedream/actions/search-for-registry-components/search-for-registry-components.mjs(1 hunks)components/pipedream/package.json(2 hunks)components/pipedream/pipedream.app.mjs(2 hunks)components/pipedream/sources/new-scheduled-tasks/new-scheduled-tasks.mjs(1 hunks)
✅ Files skipped from review due to trivial changes (5)
- components/pipedream/actions/delete-subscription/delete-subscription.mjs
- components/pipedream/actions/create-subscription/create-subscription.mjs
- components/pipedream/sources/new-scheduled-tasks/new-scheduled-tasks.mjs
- components/pipedream/actions/get-component/get-component.mjs
- components/pipedream/actions/generate-component-code/generate-component-code.mjs
🚧 Files skipped from review as they are similar to previous changes (3)
- components/pipedream/package.json
- components/pipedream/actions/get-component-from-global-registry/get-component-from-global-registry.mjs
- components/pipedream/actions/search-for-registry-components/search-for-registry-components.mjs
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2024-10-08T15:33:38.240Z
Learnt from: GTFalcao
PR: PipedreamHQ/pipedream#12731
File: components/hackerone/actions/get-members/get-members.mjs:3-28
Timestamp: 2024-10-08T15:33:38.240Z
Learning: When exporting a summary message in the `run` method of an action, ensure the message is correctly formatted. For example, in the `hackerone-get-members` action, the correct format is `Successfully retrieved ${response.data.length} members`.
Applied to files:
components/pipedream/actions/list-apps/list-apps.mjscomponents/pipedream/actions/get-app/get-app.mjs
🧬 Code graph analysis (3)
components/pipedream/actions/list-apps/list-apps.mjs (4)
components/pipedream/actions/get-app/get-app.mjs (1)
response(30-33)components/pipedream/actions/get-component-from-global-registry/get-component-from-global-registry.mjs (1)
response(30-33)components/pipedream/actions/search-for-registry-components/search-for-registry-components.mjs (1)
response(63-71)components/pipedream/pipedream.app.mjs (1)
response(78-82)
components/pipedream/actions/get-app/get-app.mjs (3)
components/pipedream/actions/get-component-from-global-registry/get-component-from-global-registry.mjs (1)
response(30-33)components/pipedream/actions/list-apps/list-apps.mjs (1)
response(59-67)components/pipedream/actions/search-for-registry-components/search-for-registry-components.mjs (1)
response(63-71)
components/pipedream/pipedream.app.mjs (4)
components/pipedream/actions/get-app/get-app.mjs (1)
response(30-33)components/pipedream/actions/get-component-from-global-registry/get-component-from-global-registry.mjs (1)
response(30-33)components/pipedream/actions/list-apps/list-apps.mjs (1)
response(59-67)components/pipedream/actions/search-for-registry-components/search-for-registry-components.mjs (1)
response(63-71)
⏰ 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). (3)
- GitHub Check: Lint Code Base
- GitHub Check: Publish TypeScript components
- GitHub Check: Verify TypeScript components
🔇 Additional comments (4)
components/pipedream/actions/list-apps/list-apps.mjs (1)
1-41: LGTM!The action metadata, annotations, and prop definitions follow Pipedream conventions correctly.
components/pipedream/actions/get-app/get-app.mjs (1)
1-33: LGTM!The action structure, metadata, and API call implementation are correct and follow Pipedream conventions.
components/pipedream/pipedream.app.mjs (2)
64-126: LGTM!The new propDefinitions are well-structured with appropriate types, descriptions, and the
appIddynamic options implementation correctly queries the API and maps results.
205-232: LGTM!The new API methods correctly delegate to
_makeAPIRequestwith appropriate paths and parameter handling. The implementations are clean and consistent.
dbadd43 to
da4e0d2
Compare
For Integration QA: |
|
Hello everyone, I have tested this PR and there're some test cases failed or needed improvement. Please check test reports below for more information:
|
da4e0d2 to
909806c
Compare
|
Hi @vunguyenhung about the Get Component test, that key component does not exist so you can try for example with |
|
Hi everyone, all test cases are passed! Ready for release! Test reports
|
909806c to
060daef
Compare
|
/approve |
WHY
Resolves #18607
Summary by CodeRabbit
New Features
Chores