Imports issues from Google Code Issue Tracker to GitHub Issues :: Unmaintained
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



This is a simple script to convert from Google Code Issue Tracker to
GitHub Issues.


ruby gcit2ghi.rb project user repo password

project - Google Code project
user - GitHub user name
repo - GitHub repository name
password - GitHub user password

If you have more than 500 issues or more than 500 comments for an
issue, modify the MAX_RESULTS constant in gcit2ghi.rb.


1) ruby - Programming Language
2) nokogiri - For parsing the Google Code XML files
3) json - For serializing the GitHub API calls
4) rest-client - For submitting the GitHub API calls

How It Works

1) Downloads the Issue Tracker feed from Google Code (caching it
   locally in a created xml subdirectory).  Parses out all issues.

2) For each issue, downloads the Issue Comments feed from Google
   Code (caching it locally) and parses out all comments for the

3) Does some preprocessing of the parsed out entries to add to
   the body of issues and comments so that the GitHub issues will
   be able to tell the which Google Code user opened the issue,
   the creation and closed date of the issue, and the Google Code
   user and posting date for each comment on the issue.

4) Uploads each issue to GitHub, potentially marks the issue as
   closed if it was closed on Google Code, and uploads each comment
   related to the issue.


There is very little error handling done.  There are no descriptive
comments in the source code.

Files uploaded to Google Code are not copied.

Labels and milestones are not copied, only the title and body of
issues and the body of comments.  The GitHub assignee is set to the
user you provided.

If you have a problem with the script after a partial import, you can
open the script and uncomment out the lines that delete existing
issues.  You shouldn't do this if you want to keep any existing
issues, though.

This was used to convert the ruby-sequel Google Code issues to
jeremyevans/sequel on GitHub.  I don't plan on using it again or
improving it, so if you want to make improvements, please fork.


This code is licensed under the MIT license.  See the MIT-LICENSE
file for details.


Jeremy Evans <>