Skip to content

Rally is the best when it's not being used. Convert to a better Project Management Suite today!

License

Notifications You must be signed in to change notification settings

deybhayden/rally-to-anything

 
 

Repository files navigation

rally-is-bad

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 or Jira.

Working Notes

⚠️ ⚠️ WORK IN PROGRESS - USE AT YOUR OWN RISK ⚠️ ⚠️

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.

Functionality

  • 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

Recommendation: Try it in Isolation

🐉 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. 😄

Running this Utility

Assumptions:

  • You're using a Mac
  • You're using pyenv & pipenv
  • You have AWS SSO & an S3 bucket for migrating attachments

pipenv

From within your checkout:

pyenv install 3.9.6
pipenv install --python 3.9.6 . --editable .

Complete configuration

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

Running

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

Tidbits

Clubhouse limits file uploads to 50mb. Rally shares the same limit

Resources

About

Rally is the best when it's not being used. Convert to a better Project Management Suite today!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%