~petersanchez/trello2redmine

Import Trello boards into a Redmine project
Fixing original github repo url
Updating README, config, etc.

refs

master
browse  log 

clone

read-only
https://git.code.netlandish.com/~petersanchez/trello2redmine
read/write
git@git.code.netlandish.com:~petersanchez/trello2redmine

You can also use your local clone with git send-email.

#trello2redmine

From Peter:

This is a copy of the original version of this script. It's essentially the same with some additional improvements and helpers. We ran dozens of projects on Trello and due to changes in both functionality and billing, we decided we would rather control our data versus constantly having to adapt to their updates.

We'd already used Redmine for other projects and just decided to migrate everything over.

Original:

This is a tiny tool I've written to migrate all of our issue tracking data at once. It uses Trello's JSON export feature and the JSON flavour of Redmine's REST API.

We had been using Trello as a stop-gap solution while our internal services (including Redmine) were being set up. Hence the limited scope of support for features – it was a one-time operation, and I don't really have a vested interest in the application, but it may be of use to others.

#Dependencies

Tested with Python 2.7, but was written with Python 3 compatibility in mind.

Beyond the standard library, the script only requires Requests for HTTP support.

From Peter:

You will also need a Trello API key to migrate attachments. Also, our Redmine install uses the checklists plugin from RedmineUP. So if you don't have that plugin, just look at the commit history to see the change. You can easily revert my checklist changes to the original way.

#Configuration and usage

Edit trello2redmine_config.py and fill in the details of your installation. Then just run the script.

#Known issues

Not all features of Trello are supported. What works:

  • creating Redmine issues from Trello cards,
  • importing Trello card comments as Redmine issue comments,
  • importing Trello checklists as plain text, appended to the issue description,
  • mapping Trello users to Redmine users,
  • mapping Trello lists to Redmine statuses,
  • mapping Trello card labels to Redmine priorities.

From Peter:

  • Checklists are now imported using the RedmineUP checklist plugin
  • Attachments are migrated
  • Ability to specify lists who's card's should not have their attachments migrated.
  • Multiple assignments are migrated (first user is assignee, rest are watchers)
  • List to redmine version support. Versions specified that are not in Redmine will automatically be created.
  • Label to status mapping as well (see config file for example)
  • Set status for lists that are closed (archived)
  • General improvements to make it faster by saving json responses from Redmine per project.
  • Basic recovery support by saving which cards have been successfully imported and skipping those should you need to restart.

What doesn't:

  • everything else.

#Final comment from Peter

This was done simply to move data. This is not a script I'm "proud" to share, even if I'm not the original author. It works great but the code is ugly, thrown together, hacky, violates many Python best practices and style guidelines, etc. Don't judge!

Also huge thank you to Leszek Godlewski for the original version. It helped me get our data migrated much faster with the huge head start the script gave!

#Licensing

        DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
                    Version 2, December 2004 

 Copyright (C) 2016 Leszek Godlewski
 Copyright (C) 2021 Peter Sanchez

 Everyone is permitted to copy and distribute verbatim or modified 
 copies of this license document, and changing it is allowed as long 
 as the name is changed. 

            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 

  0. You just DO WHAT THE FUCK YOU WANT TO.