First off, many thanks to goborrega, the author of TrelloToAsana – a ruby package to help users port their data from 🌹💃 💕 Trello 💕 💃 🌹 to Asana. I love Trello (as you may have gathered from the emojis), but the boards are very siloed. I have like 3 dozen boards, I don’t want to have to dig into each one.
There are a few ways to get data between the two, but none were to my satisfaction until I found this package on Github.
I ran into a couple issues and I wanted to save some other folks the time. Many of these issues stem from not being a Ruby developer Thanks to Google University, I was able to develop a sufficient passing literacy.
Some background that may be helpful to non-Ruby devs may find useful:
- Install Bundler and other dependencies. On Suse the command was:
sudo zypper install ruby2.5-rubygem-bundler ruby-dev ruby2.5-dev ruby2.5-rubygem-rails-5_1
- Install dependencies defined in the gemfile:
bundle install
- To run a Ruby script:
ruby [filename]
There seems to be a version problem with the required versions of Ruby and the gem json. To fix that, I went opened Gemfile and replaced where it calls for json version 1.8.1 with 1.8.5. I haven’t seen any negative consequences of advancing it to a later version.
Between the time of the code’s writing and the time I ran it, Asana evidently changed their property id to gid on workspaces, projects and tasks. A find and replace on all instances of .id with .gid fixed the problem. The error was:
/usr/lib64/ruby/gems/2.5.0/gems/asana-0.10.0/lib/asana/resource_includes/resource.rb:34:in `method_missing': undefined method `id'
It worked like a dream after that.
Having gone to all that trouble, I don’t think I’m going to stick with Asana. There are too many features 💖 Trello 🌈 has that Asana doesn’t. My hunt for a 🌼 Trello 🥰 alternative that has global tags continues.