A Campfire plugin for Hudson

Our last OSLD resulted in a new hudson plugin: a build notifier for Campfire. Right now it is pretty simple and just posts the last build result in a chat room:

You can configure your account data and the room to join in the job config page under Post Build actions:
But there is more to come:

  • global config
  • SSL support
  • a link back to hudson

or what is your favorite missing feature?

2 thoughts on “A Campfire plugin for Hudson”

  1. Hi,

    Thanks for the plugin, we’ve been using it since moving to Hudson from CC.rb recently.

    We ran into a couple of problems, which I’ve worked around with my rudimentary Java knowledge…

    The configuration settings didn’t appear to be getting saved anywhere, which caused problems when hudson restarted. We’d get a null pointer exception within Room.speak() because the campfire object was null, because DescriptorImpl.newInstance() hadn’t been called. Editing the config for a job and re-saving it would temporarily work around the problem.

    We had a similar problem with our github nofications to campfire clashing with those from the hudson campfire plugin. They both use the same account, but the github plugn uses the campfire api and seems to logout after sending a notification. This would actually log the hudson notifier out too, again resulting in the same null pointer exception.

    What I’ve done is…
    * Checked out your 1.1-SNAPSHOT from the svn repository.

    * Updated the code to use a global configuration for the campfire settings, and implemented the configure method to save these to the disk so they get loaded after a restart.

    * Added a horrible hack to Room.speak() to check if campfire == null and if so, create a new campfire object and login.

    If you want to send me a mail, I’d be more than happy to send my changes on to you. Please excuse the rather awful java coding – it’s been a long time since I wrote any java, and I was in a hurry.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.