Skip to content

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=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.