In the tech world, adaptability is key. As our startup, Roster Portal, evolved over the years, so did our needs. We started our journey with Assembla.com back in 2011, leveraging its robust source control and ticketing system. For reference on just how old that is, we were using Subversion – not Git back then! However, as time passed, we found ourselves questioning the value proposition of our Assembla subscription, especially as newer, more cost-effective solutions emerged.
After careful consideration, we decided to migrate our ticketing system to GitHub.com, a platform we were already familiar with and one that offered a more economical solution. But migrating years’ worth of data wasn’t a task to be taken lightly. It wasn’t just about moving tickets; it was about preserving our project history, ensuring seamless collaboration, and optimizing our workflow for the future.
The first hurdle was to devise a method to migrate our data efficiently. With over a decade’s worth of tickets, comments, and milestones stored in Assembla, a manual transfer was out of the question. That’s where automation came to the rescue.
To automate the migration process, I set out to quickly develop a tool that could seamlessly transfer our Assembla data to GitHub. However, this presented a dual opportunity. Not only did I aim to solve our immediate migration needs, but I also wanted to deepen my understanding of Object-Oriented Python, moving beyond mere scripting.
The result? A fast Python script capable of converting an Assembla export file into GitHub issues, complete with comments, milestones, and labels. Leveraging the GitHub CLI made the process remarkably straightforward, eliminating the need to handle lower-level HTTP operations or authentication.
The script is designed to be user-friendly, allowing for easy customization and execution. Detailed instructions, along with a sample Assembla export file and output, can be found in the repository:
In migrating our ticketing system from Assembla to GitHub, we not only saved significant costs but also streamlined our workflow and embraced modern development practices. The journey wasn’t without its challenges, but the result—a leaner, more efficient process—made it all worthwhile.
We exported over 1,000 tickets and 10,000 coments as well as milestones, tags and more. As we continue to evolve, both as a startup and as individual developers, embracing change and innovation remains at the core of our ethos.
Cheers to progress, efficiency, and the relentless pursuit of improvement!