Trello
Trello is Atlassian’s card-based tracker. Cards are addressed by short ID (e.g. https://trello.com/c/aBc12XyZ where aBc12XyZ is the card’s short link) or by board+card numeric ID. Trello’s loose project model means the integration story is different from Jira’s — there are no “project keys” like JIRA-123; cards are just IDs.
Forgejo side: external issue tracker
Repo Settings → “Advanced Settings” → External issue tracker.
Two patterns depending on whether your team references Trello cards by short-link or by sequential per-board number:
Pattern A: short-link references (recommended)
| Field | Value |
|---|---|
| External issue tracker URL | https://trello.com/c/{index} |
| External issue tracker URL format | https://trello.com/c/{index} |
| External issue tracker number format | Regexp |
| External issue tracker number format regexp | T#([a-zA-Z0-9]{8}) |
Commit message convention: T#aBc12XyZ (the short-link suffix from the Trello card URL).
Pattern B: sequential numeric references
If your team uses the #<n> numeric form (which Trello also supports per board), pick a per-board prefix to avoid collisions when multiple boards link to one repo: TRELLO-<n>. Pattern:
| Field | Value |
|---|---|
| External issue tracker URL | https://trello.com/b/<your-board-id>/<your-board-slug> |
| External issue tracker URL format | (Trello doesn’t expose direct numeric-ID URLs — fall back to opening the board, then ⌘F for the number) |
| External issue tracker number format | Regexp |
| External issue tracker number format regexp | TRELLO-([0-9]+) |
Pattern A is the better experience because each card has a stable short-link URL.
Recommended commit-message format
chore(deps): bump alpine 3.21 → 3.22
T#aBc12XyZThe short-link is stable across card renames / list moves; numeric IDs are not (they re-number when archived cards return).
Tracker side: Trello Power-Up webhook (optional)
Trello inbound webhooks are configured per-board:
- Trello board → Show menu → Power-Ups → search for “Webhooks” or use the Custom Webhooks Power-Up.
- Add webhook with URL pointing at a relay you control (Trello expects a specific request shape that maps
model+actionto card events; fremforge’s outbound webhook shape doesn’t match directly). - Same relay-in-the-middle pattern as Linear — 30 lines of relay code translate Forgejo’s
pull_request.openedto Trello’sattachToCardAPI call so the card surfaces the linked PR.
If you don’t want to run a relay: just use the one-way clickable-link pattern (Forgejo → Trello), skip the inbound webhook, and accept that Trello cards won’t show “linked PRs” on them.
Sub-processor implications
Trello’s control plane is AWS US-east-1 (Atlassian-managed, same posture as Jira Cloud). When you wire fremforge to Trello:
- Commit metadata + author email flow to Atlassian’s cloud.
- Add Atlassian as a sub-processor in your DPA + sub-processor register (one entry covers Jira Cloud + Trello + Confluence Cloud — they share data residency).
- EU data residency is opt-in on Atlassian Cloud Premium plans; verify your Trello workspace is on a Premium plan if EU-only is required.
What this doesn’t do
- No Trello board / list awareness — fremforge treats every card identically. If your workflow needs “PR moves card from In Progress to Done”, that’s a Trello-side automation (Butler rule) reading the relay webhook.
- No card-create on commit — referencing a non-existent card short-link produces a broken link, not a new card.
- Bulk-link a card to multiple repos requires referencing the same short-link from each repo independently.