Project Management migration
Field-level mapping, validation, and rollback between Redmine and Trello. We move data and schema; workflows are rebuilt natively in Trello.
Redmine
Source
Trello
Destination
Compatibility
8 of 14
objects map 1:1 between Redmine and Trello.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Redmine to Trello is a structural migration from a hierarchical, role-based issue tracker to a card-based Kanban board system. Redmine organizes work as Projects containing Issues with Versions, Trackers, and Custom Fields; Trello organizes work as Boards containing Lists of Cards with optional Custom Fields and Labels. The most significant mapping challenge is that Redmine's Gantt charts, time tracking, issue history, and workflow status paths have no native Trello equivalents—we flag each gap during scoping and document the nearest Trello workaround (Power-Ups, due dates, checklists) so the customer's team can decide what to rebuild. We extract uploaded files from Redmine's /files directory, re-upload them to Trello Cards, and map Redmine Trackers to Trello Labels as a categorical overlay on the card collection. Redmine Wikis, Forums, News, and Documents do not migrate as structured content; we deliver a written inventory of these objects for the customer's admin to rebuild manually or via a content migration specialist.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Redmine object lands in Trello, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Redmine
Project
Trello
Board
1:1Redmine Projects map to Trello Boards. Each Project's identifier, name, description, homepage, and public/private flag transfer to the Board. Subprojects map to child Boards or to Lists within a parent Board depending on whether the customer wants a flat or hierarchical structure. We confirm the preference during scoping and configure the Board hierarchy accordingly.
Redmine
Issue
Trello
Card
1:1Redmine Issues are the primary migration object and map to Trello Cards. Standard fields transfer: subject (Card name), description (Card description in markdown), status (Card position within a List), priority (Card position or Label color), assignee (Trello Member), due date (Card due date). Custom field values transfer to Trello Custom Fields Power-Up if the destination Board has matching field definitions. Note that Redmine's parent-subtask hierarchy has no native Trello equivalent; subtasks are mapped as Checklist items on the parent Card.
Redmine
Tracker
Trello
Label
lossyRedmine Trackers (Bug, Feature, Support, etc.) map to Trello Labels. We create Label definitions on each destination Board that correspond to the active Trackers in Redmine. The Label name carries the Tracker name and an optional color assignment. Closed or archived issues can be mapped to a separate 'Archived' Label if the customer wants visibility into closed items within the same Board.
Redmine
Issue Status
Trello
List
lossyRedmine Issue Statuses (New, In Progress, Resolved, Closed, etc.) map to Trello Lists on the destination Board. We configure Lists to correspond to the active status values in the Redmine project. The customer chooses whether to map statuses directly to Lists or to use Card position within a smaller set of Lists with Label-based status overlays. Status transition history (journals) does not migrate because Trello has no concept of status change audit trails.
Redmine
Version / Milestone
Trello
Card due date or List
lossyRedmine Versions carry a name, description, status, and due date. We map the Version name to a Label (e.g., 'Sprint 3') and the Version due date to the Card due date for issues assigned to that Version. If the customer uses Versions as milestones rather than as date targets, we offer a List-based mapping where all cards in a Version appear on a dedicated List.
Redmine
User
Trello
Member
1:1Redmine Users (login, firstname, lastname, email, admin flag) map to Trello Members on the Board. We extract all Users referenced as assignees on Issues and add them as Members to the destination Board. Note that Redmine passwords are not transferable—Trello accounts are provisioned by email invitation, and each Redmine User must accept the invitation to access Trello.
Redmine
Custom Field (Issue-level)
Trello
Custom Field (Board-level Power-Up)
lossyRedmine Issue Custom Fields are defined separately via /custom_fields.json and apply to specific Tracker or Project contexts. We retrieve all active custom field definitions before migration, then configure matching Custom Fields in the Trello Custom Fields Power-Up on each destination Board. Trello supports five custom field types: checkbox, date, dropdown, number, and text. Fields using unsupported formats (e.g., long text, URL, user reference) are flagged as requiring manual entry or a workaround.
Redmine
Attachment (file)
Trello
Card attachment
1:1Redmine attachments are stored in the filesystem under /files (not in the database). We enumerate the /files directory during discovery, extract each file with its container_type and container_id metadata, and re-upload each file as an attachment to the corresponding Trello Card using the Card ID resolved from the Redmine Issue identifier. Filename, content type, and file size are preserved. This is a high-severity gotcha: database-only migration scripts miss all attachments.
Redmine
Time Entry
Trello
Card due date or Checklist note
1:manyRedmine Time Entries are first-class objects linked to Issues with hours, activity, and comments. Trello has no native time tracking object. We map the total logged hours per Issue to a text note in the Card description (e.g., 'Total time logged: 4.5h') and optionally create a Checklist item with time details if the customer needs granular visibility. Dedicated time tracking Power-Ups in Trello are noted as a post-migration rebuild option.
Redmine
Wiki Page
Trello
Board description or linked document
1:1Redmine Wiki Pages are stored as wiki text with attachments and are project-scoped. Trello has no native wiki. We export wiki content as markdown, save it as a file, and attach it to the Board or to a designated Card as a reference document. If the customer uses Confluence for documentation, we can flag the Confluence URL mapping as a separate engagement. Wiki pages with complex formatting may require manual review.
Redmine
Document
Trello
Card attachment or Board Power-Up
1:1Redmine Documents are project-level file attachments with titles and descriptions but no direct Issue linkage. We map them to Trello Card attachments on a designated Card per project, or to a Board Power-Up such as Document Card if the customer enables one. Documents without a clear home in Trello are flagged in the written inventory for the admin to organize.
Redmine
News
Trello
Board activity log
1:1Redmine News entries are lightweight project posts with a title, description, and author. Trello has no News object. We map News to Card descriptions on a designated Board Card (e.g., 'Project Announcements') or note them in the written inventory for manual republication in Trello's activity stream or a connected tool.
Redmine
Enumeration (Issue Priority)
Trello
Card position or Label color
lossyRedmine Issue Priorities (Low, Normal, High, Urgent, Immediate) map to Trello Card position (higher priority cards placed higher in the List) or to Label colors that the customer assigns. We configure the mapping during scoping so that priority is visible without opening each Card.
Redmine
Group
Trello
Trello Organization / Workspace
1:1Redmine Groups organize Users for role assignment. Trello uses Workspaces and Board membership for access control. We recreate Group names as Trello Workspace names if the customer uses multiple Workspaces, and add Members to Boards based on Group membership. Role-based permissions in Redmine do not transfer because Trello's permission model is Workspace and Board-level only.
| Redmine | Trello | Compatibility | |
|---|---|---|---|
| Project | Board1:1 | Fully supported | |
| Issue | Card1:1 | Fully supported | |
| Tracker | Labellossy | Fully supported | |
| Issue Status | Listlossy | Fully supported | |
| Version / Milestone | Card due date or Listlossy | Fully supported | |
| User | Member1:1 | Fully supported | |
| Custom Field (Issue-level) | Custom Field (Board-level Power-Up)lossy | Fully supported | |
| Attachment (file) | Card attachment1:1 | Fully supported | |
| Time Entry | Card due date or Checklist note1:many | Fully supported | |
| Wiki Page | Board description or linked document1:1 | Fully supported | |
| Document | Card attachment or Board Power-Up1:1 | Fully supported | |
| News | Board activity log1:1 | Mapping required | |
| Enumeration (Issue Priority) | Card position or Label colorlossy | Fully supported | |
| Group | Trello Organization / Workspace1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Redmine gotchas
No built-in CSV import function for Issues
Uploaded files stored on filesystem, not in the database
CSV exports exclude issue history and journals
Custom field definitions require a separate API call
REST API disabled by default on most installations
Trello gotchas
Billing model uses maximum seat quantity at term midpoint
Custom Field data historically stored in pluginData
API rate limits are token-gated and can block bulk migration
Guest-to-paid seat conversion triggers on multi-board membership
Automation command runs are capped per plan and overage triggers upgrade pressure
Pair-specific challenges
Migration approach
Discovery and Redmine API or database audit
We audit the source Redmine instance across projects, issues, versions, trackers, custom fields, users, groups, attachments (filesystem enumeration), time entries, and active enumerations. We verify whether the REST API is enabled (Administration > Settings > API) and whether we can use it for the primary export, or whether we fall back to direct MySQL/PostgreSQL access. We enumerate the /files directory for attachment inventory and flag any custom field types that cannot map to Trello's five supported types. The discovery output is a written migration scope with record counts per object type and an explicit list of gaps (history, Gantt, workflows).
Trello Board structure design and mapping rule definition
We design the destination structure in Trello: one Board per Redmine Project (or nested Boards per subproject), Lists per active Issue Status, Labels per Tracker, and Custom Fields per Redmine custom field definition. We define the subtask-to-checklist collapse rule, the Version-to-label or Version-to-due-date strategy, and the priority-to-position or priority-to-label-color mapping. The customer reviews and approves the Board structure before any data moves.
File extraction and re-upload preparation
We extract all files from the Redmine /files directory, match each file to its container_type (Issue, Wiki, Document) and container_id using the database metadata, and stage them for re-upload to Trello Cards. We build a lookup table mapping each Redmine attachment to its destination Trello Card ID resolved from the Issue identifier after the card import phase completes.
Data export, transform, and schema configuration
We export all Redmine objects via REST API or direct database query. We transform field names and values to match Trello's Card and Board schema: Redmine issue status becomes List position, Tracker becomes Label, custom field values become Custom Field values, and Redmine markdown-formatted text becomes Trello-compatible markdown. We configure the Custom Fields Power-Up on each destination Board using the Redmine custom field definitions retrieved during discovery.
Migration dry run in Trello
We run a migration into a test Trello Workspace using a subset of data (one representative project) to validate the mapping, List ordering, Label assignment, Custom Field population, and attachment placement. The customer reviews the dry-run output and identifies any adjustments before we proceed to the full migration. Corrections to List order, Label color, or field mapping happen in this phase.
Full production migration and cutover
We run the full migration in dependency order: Boards (Projects) first, then Members (Users) added to Boards, then Cards (Issues) with Labels, Custom Fields, and due dates populated. We re-upload attachments to their destination Cards using the file-to-Card-ID lookup table. We add time entry summaries to Card descriptions and migrate Wiki and Document content as attached files. We deliver a row-count reconciliation report per object type. We freeze Redmine writes during the cutover window and run a final delta import of any records modified during migration. We do not migrate Workflows, automations, or Reports; these are delivered as a written inventory for the customer's admin to rebuild in Trello Butler or via a Power-Up.
Validation and Butler rebuild handoff
We validate record counts, spot-check 25-50 Cards against the Redmine source for field accuracy, and confirm all attachments are accessible on their destination Cards. We deliver the written inventory of Redmine objects not migrated (workflows, Gantt dependencies, issue history, time entries as structured data) with recommended Trello Butler rules or Power-Up alternatives. We support a five-business-day hypercare window for reconciliation issues. Butler rule configuration, Power-Up installation, and any manual content republication are outside the migration scope and are handled by the customer's team or a separate engagement.
Platform deep dives
Redmine
Source
Strengths
Weaknesses
Trello
Destination
Strengths
Weaknesses
Complexity grading
Standard Project Management migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Redmine and Trello.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Redmine: Not publicly documented; varies by host server configuration.
Data volume sensitivity
Redmine doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Redmine to Trello migration scoping. Not seeing yours? Book a call.
Walk through your Redmine to Trello migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Redmine
Other ways to arrive at Trello
Same-Project Management migrations
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.