I was in the middle of writing a script to pull down all the metadata from a GitHub repository when I stumbled upon their Migrations API[1]. Designed for moving organizations to GitHub enterprise, this feature creates an archive with everything in a set of repos: issues, pull requests, git repo, wiki, comments, attachments to comments, milestones, etc. It's in preview with no UI, and afaik no existing client library supports it, so I hacked together a quick tool to make it easy to use.
[1] https://developer.github.com/v3/migration/migrations/