Contents

GitHub and Redmine integration

Contents

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=http://projects.puppetlabs.com --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.