Objective
Create a utiliy for migrating core information for projects, iterations, epics, features, and user stories including attachments and discussions from Rally (CA Agile) to Clubhouse.
Working Notes
I'm still working and this tool is not yet complete and usable.
The notes below will evolve into full sections over time, but if you're reading this text you should ignore this project unless you're just looking for examples of how to do something similar.
Planned Behavior/Functionality
-
CLI driven
-
Configurable exclusion of:
- Projects by name
- Artifacts by tag
-
Configurable mapping and aggregation for Rally fields with sane defaults.
-
Dump and serialize data from Rally on disk with support for incremental updates when data changes (all data new first run). Support for:
- Iterations
- Epics, Features, User Stories, Defects
- Discussions and attachments for above.
- Open question: Milestones?
-
Migrate serialized Rally data produced by this utility to Clubhouse.
Rally Clubhouse Iteration Iteration Milestones Milestones Epic Epic Feature Epic User Story Story Defect Story (type: 🐛 )Fields to be converted based upon configuration. Reasonable defaults will be defined in the repository as examples/for ease of use.
Attachments will be linked to corresponding artifacts directly were possible and will be shared as lins in comments otherwise.
Attachments references in fields or discussions will be updated to refer to the Clubhouse file.
Discussions will be converted as comments.
Attachments will be linked to corresponding artifacts. Discussions mentioning artifacts will be converted as comments with
Recommendation: Try it in Isolation
I'm writing this utility to support the companny I work for (BriteCore). Your mileage may vary with this tool.
Clubhouse allows you to create multiple workspaces under an organization. If you want to inspect the resutls of running this utility against your own environment, I suggest starting with a sample in an isolated workspace in case you don't like the results.
If it doesn't work for you out of the box, feel free to submit a pull request
or just modify it for your own purposes in a fork.
Running this Utility
Assumptions:
- You're using a Mac
- You're using
pyenv
- You have
pyenv-virtualenv
installed as well
From within your checkout:
pyenv virtualenv 3.8.0 rally-to-clubhouse
pyenv local rally-to-clubhouse
pip install -r requirements.txt
Complete configuration:
- Clubhouse API key
- Rally API key
Run:
python rally-to-clubhouse.py dump-rally --config <config-location>
Tidbits
Clubhouse limits file uploads to 50mb. Rally shares the same limit