When I wrote about migrating RT tickets to Github a couple years ago, it was a quick-and-dirty job. This week, I finally cleaned it up and added some features I’d been missing:

Automatically closing the migrated RT ticket with a hyperlink to the new Github ticket

Migrating “stalled” RT tickets, as well as “new” and “open” tickets

Including all comments, not just the opening one, along with creator email and creation time stamp

Including hyperlinks to any file attachments

Including a list of all “requestors” email addresses (people following the ticket)

Improving distribution name detection for people who don’t use Dist::Zilla

Adding a “dry-run” mode

Adding a “single-ticket” mode

Here’s a draft of what a newly migrated ticket might look like (from a test run, not an actual migration, but it shows an attachment):

Or, here’s an actual ticket migrated over for IO::CaptureOutput: Bad joining of STDERR + STDOUT in windows [rt.cpan.org #55164].

I’ve created a github repository for this at zzz-rt-to-github to make it easy for people to grab the script or contribute back. The README file there has instructions.

Enjoy!