Migrating release data to GitHub Enterprise

UPDATE: GitHub Enterprise 2.4 now has a new migration API, which makes this process obsolete.

At grandcentrix, we recently purchased and set up GitHub Enterprise to fulfill the data protection expectations of our customers.

Before, we had a large GitHub.com organization and now needed to move repositories from there over to our private installation. The official documentation offers some insight in how to move repositories from GitHub.com to GitHub Enterprise, but only on a rather low level. Sadly, useful metadata such as issues, release notes and pull requests will not be transferred. The documentation just points at the GitHub API and points out further limitations.

Our mobile developers (especially the Android team) make heavy use of the Releases feature:

For the Android platform it makes sense to upload the APK directly to the release, enabling developers and testers (BTW, we are currently looking for QA Engineers!) to easily install a certain app version from GitHub.

Now sadly there was no easy way to transfer this data in batch. So I wrote a small Python script which downloads all release data from GitHub.com and uploads it to your Enterprise installation, including all assets.

So, if you ever run into the same issue, you can find the script over at our The Engine Room GitHub.com organization!