-
Notifications
You must be signed in to change notification settings - Fork 5.4k
[FEATURE] New Trello action #17813
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
[FEATURE] New Trello action #17813
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 3 Skipped Deployments
|
WalkthroughThis update introduces a new "Get Board" Trello action and enhances the Trello app component with new prop definitions for nested resources: actions, labels, and members. Additionally, it increments version numbers across numerous Trello action and source modules, and updates the Trello package version. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant GetBoardAction
participant TrelloAPI
User->>GetBoardAction: Provide boardId and optional nested resource params
GetBoardAction->>TrelloAPI: Fetch board with specified parameters
TrelloAPI-->>GetBoardAction: Return board data (with requested nested resources)
GetBoardAction-->>User: Output board data and summary
sequenceDiagram
participant User
participant TrelloApp
participant TrelloAPI
User->>TrelloApp: Request options for actions, labels, or members
alt actions
TrelloApp-->>User: Return static actions options
else labels
TrelloApp->>TrelloAPI: findLabel(boardId)
TrelloAPI-->>TrelloApp: Return label list
TrelloApp-->>User: Return label options
else members
TrelloApp->>TrelloAPI: listMembers(boardId)
TrelloAPI-->>TrelloApp: Return member list
TrelloApp-->>User: Return member options
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~15 minutes Assessment against linked issues
Assessment against linked issues: Out-of-scope changesNo out-of-scope changes detected. Suggested reviewers
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 (
|
7d117c7
to
0a90a91
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.
LGTM! Ready for QA!
02e088e
to
970b41b
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: 0
🧹 Nitpick comments (2)
components/trello/trello.app.mjs (2)
342-348
: Consider adding a default value to match the description.The description mentions "Default is
all
" but no default value is set in the propDefinition. Consider addingdefault: ["all"]
to align with the description.actions: { type: "string[]", label: "Actions", description: "This is a nested resource. Specify what actions to include in the response. Default is `all`.", optional: true, + default: ["all"], options: actions, },
349-363
: Improve label mapping to handle labels without names.The current mapping only uses the
name
property, but labels might not always have a name (they could have just a color). The existinglabel
propDefinition (lines 142-147) usesname || color
which is more robust.- return labels.map(({ name }) => name); + return labels.map(({ name, color }) => name || color);
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (43)
components/trello/actions/add-attachment-to-card/add-attachment-to-card.mjs
(1 hunks)components/trello/actions/add-checklist/add-checklist.mjs
(1 hunks)components/trello/actions/add-comment/add-comment.mjs
(1 hunks)components/trello/actions/add-existing-label-to-card/add-existing-label-to-card.mjs
(1 hunks)components/trello/actions/add-member-to-card/add-member-to-card.mjs
(1 hunks)components/trello/actions/archive-card/archive-card.mjs
(1 hunks)components/trello/actions/complete-checklist-item/complete-checklist-item.mjs
(1 hunks)components/trello/actions/create-board/create-board.mjs
(1 hunks)components/trello/actions/create-card/create-card.mjs
(1 hunks)components/trello/actions/create-checklist-item/create-checklist-item.mjs
(1 hunks)components/trello/actions/create-label/create-label.mjs
(1 hunks)components/trello/actions/create-list/create-list.mjs
(1 hunks)components/trello/actions/delete-checklist/delete-checklist.mjs
(1 hunks)components/trello/actions/find-labels/find-labels.mjs
(1 hunks)components/trello/actions/find-list/find-list.mjs
(1 hunks)components/trello/actions/get-board/get-board.mjs
(1 hunks)components/trello/actions/get-card/get-card.mjs
(1 hunks)components/trello/actions/get-list/get-list.mjs
(1 hunks)components/trello/actions/move-card-to-list/move-card-to-list.mjs
(1 hunks)components/trello/actions/remove-label-from-card/remove-label-from-card.mjs
(1 hunks)components/trello/actions/rename-list/rename-list.mjs
(1 hunks)components/trello/actions/search-boards/search-boards.mjs
(1 hunks)components/trello/actions/search-cards/search-cards.mjs
(1 hunks)components/trello/actions/search-checklists/search-checklists.mjs
(1 hunks)components/trello/actions/search-members/search-members.mjs
(1 hunks)components/trello/actions/update-card/update-card.mjs
(1 hunks)components/trello/package.json
(1 hunks)components/trello/sources/card-archived/card-archived.mjs
(1 hunks)components/trello/sources/card-due-date-reminder/card-due-date-reminder.mjs
(1 hunks)components/trello/sources/card-moved/card-moved.mjs
(1 hunks)components/trello/sources/card-updates/card-updates.mjs
(1 hunks)components/trello/sources/custom-webhook-events/custom-webhook-events.mjs
(1 hunks)components/trello/sources/new-activity/new-activity.mjs
(1 hunks)components/trello/sources/new-attachment/new-attachment.mjs
(1 hunks)components/trello/sources/new-board/new-board.mjs
(1 hunks)components/trello/sources/new-card/new-card.mjs
(1 hunks)components/trello/sources/new-checklist/new-checklist.mjs
(1 hunks)components/trello/sources/new-comment-added-to-card/new-comment-added-to-card.mjs
(1 hunks)components/trello/sources/new-label-added-to-card/new-label-added-to-card.mjs
(1 hunks)components/trello/sources/new-label/new-label.mjs
(1 hunks)components/trello/sources/new-member-on-card/new-member-on-card.mjs
(1 hunks)components/trello/sources/new-notification/new-notification.mjs
(1 hunks)components/trello/trello.app.mjs
(2 hunks)
✅ Files skipped from review due to trivial changes (25)
- components/trello/actions/add-existing-label-to-card/add-existing-label-to-card.mjs
- components/trello/actions/create-label/create-label.mjs
- components/trello/actions/create-board/create-board.mjs
- components/trello/actions/rename-list/rename-list.mjs
- components/trello/sources/card-due-date-reminder/card-due-date-reminder.mjs
- components/trello/actions/search-checklists/search-checklists.mjs
- components/trello/sources/new-activity/new-activity.mjs
- components/trello/actions/delete-checklist/delete-checklist.mjs
- components/trello/actions/archive-card/archive-card.mjs
- components/trello/sources/new-label-added-to-card/new-label-added-to-card.mjs
- components/trello/sources/new-notification/new-notification.mjs
- components/trello/actions/add-member-to-card/add-member-to-card.mjs
- components/trello/actions/find-labels/find-labels.mjs
- components/trello/sources/new-checklist/new-checklist.mjs
- components/trello/actions/update-card/update-card.mjs
- components/trello/sources/new-label/new-label.mjs
- components/trello/actions/add-checklist/add-checklist.mjs
- components/trello/actions/get-list/get-list.mjs
- components/trello/sources/new-member-on-card/new-member-on-card.mjs
- components/trello/actions/complete-checklist-item/complete-checklist-item.mjs
- components/trello/sources/custom-webhook-events/custom-webhook-events.mjs
- components/trello/sources/new-comment-added-to-card/new-comment-added-to-card.mjs
- components/trello/sources/new-attachment/new-attachment.mjs
- components/trello/actions/create-card/create-card.mjs
- components/trello/sources/card-moved/card-moved.mjs
🚧 Files skipped from review as they are similar to previous changes (17)
- components/trello/actions/create-list/create-list.mjs
- components/trello/package.json
- components/trello/actions/search-members/search-members.mjs
- components/trello/actions/get-card/get-card.mjs
- components/trello/actions/search-cards/search-cards.mjs
- components/trello/actions/move-card-to-list/move-card-to-list.mjs
- components/trello/actions/add-comment/add-comment.mjs
- components/trello/actions/find-list/find-list.mjs
- components/trello/actions/remove-label-from-card/remove-label-from-card.mjs
- components/trello/actions/search-boards/search-boards.mjs
- components/trello/sources/new-card/new-card.mjs
- components/trello/sources/new-board/new-board.mjs
- components/trello/actions/create-checklist-item/create-checklist-item.mjs
- components/trello/sources/card-archived/card-archived.mjs
- components/trello/actions/add-attachment-to-card/add-attachment-to-card.mjs
- components/trello/sources/card-updates/card-updates.mjs
- components/trello/actions/get-board/get-board.mjs
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: in the salesloft api integration (components/salesloft/salesloft.app.mjs), the _makerequest method r...
Learnt from: GTFalcao
PR: PipedreamHQ/pipedream#16954
File: components/salesloft/salesloft.app.mjs:14-23
Timestamp: 2025-06-04T17:52:05.780Z
Learning: In the Salesloft API integration (components/salesloft/salesloft.app.mjs), the _makeRequest method returns response.data which directly contains arrays for list endpoints like listPeople, listCadences, listUsers, and listAccounts. The propDefinitions correctly call .map() directly on these responses without needing to destructure a nested data property.
Applied to files:
components/trello/trello.app.mjs
⏰ 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: Publish TypeScript components
- GitHub Check: Verify TypeScript components
- GitHub Check: Lint Code Base
🔇 Additional comments (2)
components/trello/trello.app.mjs (2)
5-5
: LGTM!The import statement is correctly structured and follows the existing pattern of importing from common modules.
349-363
: Verify if themembers
propDefinition is missing.According to the AI summary, a
members
propDefinition should also be added alongsideactions
andlabels
to support nested resources. However, it's not visible in the provided code changes.#!/bin/bash # Description: Check if there's a members propDefinition that should be added # Expected: Find any references to a members propDefinition in the context of nested resources # Search for members propDefinition patterns rg -A 10 -B 2 "members.*type.*string\[\]|members.*label.*Members" components/trello/ # Also check the actions file to see what nested resources are supported if [ -f "components/trello/sources/common/actions.mjs" ]; then echo "=== Actions file content ===" cat components/trello/sources/common/actions.mjs fiLikely an incorrect or invalid review comment.
WHY
Resolves #17732
Summary by CodeRabbit
New Features
Chores