enhancementgood first issueintegrationnew-featurenew-integration
Metriche repository
- Star
- (1930 stelle)
- Metriche merge PR
- (Merge medio 3h 2m) (10 PR mergiate in 30 g)
Descrizione
Description
Add Trello integration to sync boards, cards, lists, and activity into CORE.
Reference Implementations
Existing Integrations (use as templates)
integrations/linear/- Similar project management systemintegrations/github/- OAuth-based integrationintegrations/slack/- For reference
Required Files Structure
integrations/trello/
├── src/
│ ├── index.ts # Main entry, OAuth spec
│ ├── schedule.ts # Sync logic
│ ├── utils.ts # Trello API utilities
│ ├── account-create.ts # OAuth setup
│ └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md
Trello API Integration
OAuth Setup
- Use OAuth 1.0a (Trello uses legacy OAuth 1.0a) or API Key + Token
- API Version: v1
- Base URL:
https://api.trello.com/1/ - Authorization URL:
https://trello.com/1/authorize - Request Token URL:
https://trello.com/1/OAuthGetRequestToken - Access Token URL:
https://trello.com/1/OAuthGetAccessToken - Required scopes:
read- Read access to boards, cards, lists, memberswrite- Write access to boards, cards, listsaccount- Read access to member account information
- Note: API keys are obtained by creating a Trello Power-Up
Key Endpoints
GET /1/members/me- Get current member infoGET /1/members/me/boards- Get member's boardsGET /1/boards/{id}- Get board detailsGET /1/boards/{id}/lists- Get lists on a boardGET /1/boards/{id}/cards- Get cards on a boardGET /1/boards/{id}/actions- Get board activity/actionsGET /1/boards/{id}/members- Get board membersGET /1/cards/{id}- Get card detailsGET /1/cards/{id}/actions- Get card activityGET /1/lists/{id}/cards- Get cards in a listGET /1/boards/{id}/checklists- Get board checklistsGET /1/boards/{id}/labels- Get board labels
Events to Track
-
Cards
- Card created, updated, moved between lists
- Card archived/unarchived
- Comments added to cards
- Checklist items completed/uncompleted
- Due date changes
- Label additions/removals
-
Boards & Lists
- Board created/updated/closed
- List created/moved/archived
- Member added/removed from board
-
Assignments & Activity
- Member assigned/unassigned from cards
- Attachment uploads
- Custom field updates
Implementation Tasks
- Set up basic integration structure following
integrations/linear/src/index.tspattern - Implement OAuth 1.0a or API Key + Token flow in
account-create.ts - Create Trello API utilities in
utils.ts - Implement sync logic in
schedule.tsusing board actions endpoint - Convert Trello actions/events to CORE activity format
- Add error handling and rate limiting
- Create integration documentation
- Add to
integrations/README.md
Technical Notes
- Trello uses OAuth 1.0a (not OAuth 2.0). Consider using a library like
oauth-1.0afor Node.js. - Rate limit: 100 requests per 10-second window per API key, and 300 requests per 10 seconds per token.
- Board actions endpoint supports
sinceparameter for incremental sync. - Trello webhooks require a callback URL and are registered per model (board/card/etc.).
- The API is owned by Atlassian; API keys are tied to Power-Up creation.
- Pagination uses
limitandbefore/sinceparameters on action endpoints.
Resources
- Trello REST API Documentation
- Trello API Introduction
- Getting Started with Trello API
- Trello Webhooks
Labels
enhancement, integration, new-feature