enhancementgood first issueintegrationnew-featurenew-integration
Métriques du dépôt
- Stars
- (1 930 étoiles)
- Métriques de merge PR
- (Métriques PR en attente)
Description
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