Forked Campfire plugin for Hudson

February 15th, 2010

Sometime before Christmas, we decided we'd had enough of CruiseControl.rb and needed a better continuous integration solution. We use Campfire to keep in touch with each other during the day and we'd always had build notifications from CC.rb sent to Campfire, so a similar feature was considered essential in any continuous integration solution that could be considered as a replacement.

After looking at numerous different options, and testing a few of them out, we settled on Hudson, a solid, well-documented and extensible CI server written in Java. Luckily, we found that someone else, Jens Lukowski, had already written a Campfire notifier plugin for Hudson. The plugin was fairly new and a little buggy, so with my limited Java knowledge I implemented a couple of workarounds for some small issues and passed suggestions on to Jens, who implemented them in an updated version of the plugin. Unfortunately, in the updated version of the plugin a number of issues remained, so I spent some time over Christmas tracking them down and sent some updated code to Jens. There hasn't been a release including these updates since, so I decided to publish my fork of the plugin on Github.

If you've been trying to use the Campfire notifier available from the Hudson wiki and have been running into problems, you should give this fork a go, at least until an updated version of the "official" plugin is available. We've been using it for over a month now without any problems. It addresses a number of issues and also adds some new features...

  • Refactored the code to fix a number of null pointer exceptions.
  • Moved from per-job to global config.
  • Fixed issues with configuration details being lost after a hudson restart.
  • Tidied up jelly view for configuration form and added help files for each field.
  • Added a link to the build in notifications sent to campfire.

You can get it from http://github.com/jgp/hudson_campfire_plugin

Sorry, comments are closed for this article.