Ruby Plugins Hack Session Notes 6/23/2011

You know that the night is going to be productive whenever @kohsukekawa shows up, and last night was no exception. We talked about problems on the horizon, potential solutions, and then I spent the last half hour ripping a bit of code.

The truth of the matter is that most of the changes that have to be done to Jenkins core have already been made, so now the bulk of the heavy lifting falls to the Ruby side of things (right now, me).

Anyhow, on to the notes!


@kohsukekawa, @cowboyd

extract more stuff into the jenkins-plugins.rb support library (@cowboyd)

We're in the process of extracting, normalizing, documenting all the goop that's currently residing in the ruby plugins playground into a formal plugin support gem called jenkins-plugins

recruit Rubyists to implement non-Jenkins specific code (@kohsukekawa)

If you know Ruby and would like to be able to write Jenkins plugins with it, but don't know the first thing about Jenkins and/or JRuby, that's OK.

Ruby Plugins Hack Session 5/27/2011

After a one week hiatus, we returned to the weekly hack session on a mission light up the sky with fire!


Charles Lowell, Rasheed Abdul-Aziz, Hiroshi Nakamura


  • How to manage the different ScriptingContainers inside the Jenkins
  • renamed the experimental repo where we've been doing all of our development from fog.hpi to the more aptly name []
  • started a separate gem for housing the support libraries for jenkins here []
  • started with more formal definition of the plugin API there.

Ruby Plugins Hack Session 5/12/2011

[Editor's Note: For the past few weeks Jenkins community member Charles Lowell has been working with Kohsuke on adding support for building plugins in Ruby. As part of this effort, Charles has been hosting weekly hack sessions via WebEx]

As always, last night's Ruby Plugins hack session was a pleasure. Below is a quick notation of what items were discussed and/or accomplished followed by next steps to be taken my those in attendance.


  • Ruby Plugin project structure and how to bundle into an .hpi file.
  • Review of the new XSTREAM serialization method
  • API for marking fields as transient
  • What mods, if any, are required to get .hpl to work with Ruby plugin

Next Steps


  • to research what can be shared between JRuby ScriptingContainers
  • API for unmarshaling hooks on serialized ruby objects
  • Change the name of the repo :)
  • Document... something!


  • test more view functions
  • add debug mode outside of hpi:run

Hamburg hackathon a great success!

Thanks to the kindness of BigPoint GmbH and Kutzi, we had the first Jenkins Hackathon in Europe, in a very large and airly conference room in their Hamburg campus, on a nice sunny Sunday of May 1st. About 10 people came, including the static code analysis plugin fame Ullrich Hafner, Androd emulator plugin fame Christopher Orr, the instant messenger plugin (and others) fame Christoph Kutzinski. Some of us came from pretty far away places like Munich, Bonn, and Netherland. There was a good mix of existing developers and new developers, too.

Jenkins hits 1.400

Jenkins is now at 1.400 (as of last Monday, yes, I know. But better late than never...). As with 1.300 and 1.200, this release doesn't particularly signify any substantial major release, but nonetheless it is a milestone for those of us who are involved in the project — I think repeating something 400 times is something one can be proud of. It's a bit like climbing a mountain. Left foot, right foot, left foot, right foot, ... and when you look up, voila!