Thursday, March 06, 2014

Redmine service hook for github

Github services

github.com allows you to activate some service hooks on your code repository. Hooks include lots of interesting functionality like posting email notification about commits among others.
At eSpace, we use github.com as our code repository, and redmine as our project management tool and issue tracking. We wanted commits to reflect automatically in the project management tool, which will keep the whole team feeling the progress directly.
All service hooks are open source, you'll need to add them to https://github.com/github/github-services by
  1. Forking https://github.com/github/github-services
  2. implementing ur new service or patch
  3. sending pull request to the original repo

Redmine service hook

A service already existed for redmine to cover the following need:
For code browsing to work well in redmine, it was found that the best way to do it with git, is to let redmine watch a local clone of the repo... upon pushing new commits to github, the service hook is used to trigger pulling those updates to the local repo on redmine server so the code seen through redmine remains updated.

Redmine issue updater


Great thanks to @basayel for helping me out in this. We modified the redmine service in github to add another different functionality. 
When a team member pushes a commit that includes "Fixing #1234", we wanted an update to be made to issue #1234 on redmine about that commit. so we can easily from redmine reach commits that are related to the feature or bug fix

Activating the plugin

To make the issue updater active, you need to be the admin of the repo on github
  1. visit "admin" tab for your repo
  2. select service-hooks > redmine
  3. enter the
    1. redmine url
    2. API Key (can be generated from the account settings on redmine)
    3. check both active and Update Redmine Issues About Commits
  4. save and you are good to go
Notes:
  • The updates will be posted on redmine authored by the owner of the API key
  • We created a user "github watcher" that we shall use for this in all our projects

The related pull request pull request: https://github.com/github/github-services/pull/374 has been merged on September 2012 and has been working well since then
We had an issue when working with redmine instances that run over https

No comments: