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 or Jira.
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.
-
CLI driven
-
Configurable exclusion of:
- Multiple Artifacts by Rally Query
-
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:
- Releases & Iterations
- Epics, Features, User Stories, Defects
- Discussions and attachments for above.
- Dynamic fields converted to labels: Milestones
-
Migrate serialized Rally data produced by this utility
Rally Clubhouse Jira Release -- Version Iteration Iteration Sprint Milestones Milestones Label Epic Epic Label Feature Epic Epic User Story Story Sub-Task Defect Story (type: 🐛) Bug -
Uses the Zendesk Support Jira App to create links to zendesk tickets extracted from Rally text fields.
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/Jira file.
Discussions will be converted as comments.
Attachments will be linked to corresponding artifacts. Discussions mentioning artifacts will be converted as comments with
🐉 Your mileage may vary with this tool.
Clubhouse allows you to create multiple workspaces under an organization. Jira can make many different projects for experimenting.
If you want to inspect the results 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. 😄
Assumptions:
- You're using a Mac
- You're using
pyenv
&pipenv
- You have AWS SSO & an S3 bucket for migrating attachments
From within your checkout:
pyenv install 3.9.6
pipenv install --python 3.9.6 . --editable .
cp config.example.toml config.toml
# edit config.toml
# set api_key variables to live API key values and save
Example AWS SSO profile:
[profile jira-migration]
region = us-east-2
output = json
sso_start_url = https://d-30010391193.awsapps.com/start
sso_region = us-east-1
sso_account_id = 123456789123
sso_role_name = PowerUser
aws sso login --profile jira-migration
pipenv shell
rally-to-anything dump-rally --config <config-location> --attachments
rally-to-anything generate-jira-import-json --config <config-location>
# upload the JSON file on the External System Import screen in Global Jira Settings
# after the initial import, you can link your Zendesk tickets to Jira issues
manage-jira link-imported-zendesk-tickets
# all done?
manage-jira empty-project
Clubhouse limits file uploads to 50mb. Rally shares the same limit