GitHub and Redmine integration


One of the challenges of hosting projects on GitHub and their ticket trackers elsewhere is linking items like GitHub Pull Requests with tickets. I’ve written a very simple API-driven prototype tool called GhostRed to do some simple integration. GhostRed scans GitHub pull requests, creates Redmine tickets in an appropriate project for them and then closes the request with a comment that includes a link to the ticket created. You can install GhostRed with:

$ gem install ghostred

And you can use it pretty simply like so:

$ ghostred --rm_token=token --rm_site= --gh_org=puppetlabs --gh_token=token --gh_user jamtur01

Replace the options with ones appropriate to your environment. GhostRed also tries to match GitHub repository names to Redmine projects but also contains a mapping hash The full help text:

$ ghostred --help
Usage: ghostred [options] ...

Configuration options:
    -r, --rm_token TOKEN             The API token to use with Redmine
    -s, --rm_site SITE               The Redmine site to connect to
    -g, --gh_org GITHUB_ORG          The GitHub organisation
    -u, --gh_user GITHUB_USER        The GitHub user
    -t, --gh_token TOKEN             The GitHub token

Common options:
    -v, --version                    Display version
    -h, --help                       Display this screen

You can find the code on GitHub and comments, patches and feedback welcomed.