-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New Components - keboola #17157
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 Components - keboola #17157
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 3 Skipped Deployments
|
WalkthroughThis update introduces a comprehensive Keboola integration with six new action modules for bucket and table management, including listing, retrieving details, and updating names. The Keboola app component is expanded to provide API client methods and dynamic property definitions. Package metadata is updated to reflect new dependencies and versioning. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Action
participant KeboolaApp
participant KeboolaAPI
User->>Action: Trigger action (e.g., get bucket detail)
Action->>KeboolaApp: Call method (e.g., getBucketDetails)
KeboolaApp->>KeboolaAPI: Make HTTP request
KeboolaAPI-->>KeboolaApp: Return API response
KeboolaApp-->>Action: Return data
Action-->>User: Output response
Assessment against linked issues
Poem
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
components/keboola/actions/get-bucket-detail/get-bucket-detail.mjsOops! Something went wrong! :( ESLint: 8.57.1 Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsonc-eslint-parser' imported from /eslint.config.mjs components/keboola/actions/update-bucket/update-bucket.mjsOops! Something went wrong! :( ESLint: 8.57.1 Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsonc-eslint-parser' imported from /eslint.config.mjs components/keboola/actions/retrieve-bucket-tables/retrieve-bucket-tables.mjsOops! Something went wrong! :( ESLint: 8.57.1 Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsonc-eslint-parser' imported from /eslint.config.mjs
✨ Finishing Touches
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 (
|
Actions - Get Bucket Detail - Get Table Detail - Retrieve Bucket Tables - Retrieve Buckets - Update Bucket - Update Table Name
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: 6
🧹 Nitpick comments (5)
components/keboola/keboola.app.mjs (1)
6-36: Large option lists may degrade UX – consider pagination or search.
bucketIdandtableIdoption loaders return every item.
For projects with hundreds of buckets / tables the drop-down becomes slow and may exceed Pipedream’s 30-sec option-load window. Consider supporting:
sync+searcharguments to filter server-side,- limit + offset parameters with pagination.
This keeps the UI responsive for large workspaces.
components/keboola/actions/get-table-detail/get-table-detail.mjs (1)
7-9: Bump action version to match component minor release.The package is now
0.1.0; keeping the action at0.0.1is confusing for users tracking changes.- version: "0.0.1", + version: "0.1.0",components/keboola/actions/retrieve-buckets/retrieve-buckets.mjs (1)
12-18: Handle potential pagination from the API.
listBucketsreturns the first page only; large projects require pagination (offset,limit). Expose optional props or iterate until all pages are fetched so users aren’t surprised by missing buckets.components/keboola/actions/update-bucket/update-bucket.mjs (1)
42-49: Sendcoloronly when provided to avoid clobbering existing valuePassing an empty string will overwrite an existing bucket color. Build the payload conditionally:
- data: { - displayName: this.displayName, - color: this.color, - }, + data: { + displayName: this.displayName, + ...(this.color ? { color: this.color } : {}), + },components/keboola/actions/update-table-name/update-table-name.mjs (1)
50-51: Include the table ID in the summary for better traceability- $.export("$summary", `Successfully updated table name to ${this.displayName}`); + $.export("$summary", `Successfully updated table ${this.tableId} to name "${this.displayName}"`);
📜 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 (8)
components/keboola/actions/get-bucket-detail/get-bucket-detail.mjs(1 hunks)components/keboola/actions/get-table-detail/get-table-detail.mjs(1 hunks)components/keboola/actions/retrieve-bucket-tables/retrieve-bucket-tables.mjs(1 hunks)components/keboola/actions/retrieve-buckets/retrieve-buckets.mjs(1 hunks)components/keboola/actions/update-bucket/update-bucket.mjs(1 hunks)components/keboola/actions/update-table-name/update-table-name.mjs(1 hunks)components/keboola/keboola.app.mjs(1 hunks)components/keboola/package.json(2 hunks)
🔇 Additional comments (4)
components/keboola/keboola.app.mjs (1)
88-98: Confirm correct field name for bucket update payload.Keboola Storage API expects the JSON field
namewhen renaming a bucket, notdisplayName(docs § Buckets / Update). Sending the wrong key will result in a 400.- data: { - displayName, - }, + data: { + name: displayName, + },Please cross-check the API spec and adjust accordingly.
components/keboola/actions/retrieve-bucket-tables/retrieve-bucket-tables.mjs (1)
18-24: Same pagination concern as for buckets.If a bucket contains >100 tables the action will silently return a partial list. Provide pagination support or document the limitation.
components/keboola/actions/get-bucket-detail/get-bucket-detail.mjs (1)
1-27: LGTM – action is concise and follows Pipedream conventions
Imports, prop-definitions, API call, and summary export all look correct.components/keboola/actions/update-table-name/update-table-name.mjs (1)
33-40: I’ll verify howadditionalPropsis implemented in the “Update Bucket” action to confirm the non-mutating return pattern.#!/bin/bash set -e # Locate the Update Bucket action file echo "Searching for the Update Bucket action file..." BUCKET_FILE=$(rg -l "class UpdateBucket" -g "*.mjs") if [ -z "$BUCKET_FILE" ]; then echo "❌ Unable to find Update Bucket action." exit 1 fi echo "Found: $BUCKET_FILE" echo # Show the additionalProps implementation echo "=== additionalProps in Update Bucket ===" rg -n "async additionalProps" -A5 "$BUCKET_FILE"
michelle0927
left a 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.
LGTM!
* keboola init * [Components] keboola PipedreamHQ#17051 Actions - Get Bucket Detail - Get Table Detail - Retrieve Bucket Tables - Retrieve Buckets - Update Bucket - Update Table Name * pnpm update * pnpm update
Resolves #17051.
Summary by CodeRabbit
New Features
Chores