Due to some maintenance issues, this service has been switched in read-only mode, you can find more information about the why

and how to migrate your plugin documentation in this blogpost

Skip to end of metadata
Go to start of metadata

Screenshot


Detailed build status is shown as tooltip

Installation

  • save hudson-applet.rb under /usr/lib/gnome-panel/ and make it executable (chmod 755)
  • save hudson-applet.server under /usr/lib/bonobo/servers/
  • ~# sudo apt-get install ruby ruby-gnome2 rubygems1.8 libfeedparser-ruby1.8
  • ~# gem install atom
  • log out and back in
  • Use right-click on the panel to add the "Hudson Build Status" to your panel
  • On first start a dialog pops up to ask for hudson's RSS feed (e.g. "http://build.mydomain.com:8080/hudson/rssLatest")
    and for the update interval in milliseconds - configuration is saved in file $HOME/.gnome2/hudson-applet
  • No labels

1 Comment

  1. Unknown User (yshavit)

    This is very helpful, thanks!

    I made two small modifications to the hudson-applet.rb script:

    • our Hudson RSS feed has a slightly different format for failures, so I updated the regex
    • our Hudson RSS feed puts a ? for pending builds; I made those turn the circle orange

    In case that's something you'd also find helpful, here's the diff:

    --- hudson-applet.rb	2011-01-05 10:59:14.482586000 -0500
    +++ hudson-applet.rb	2011-01-04 12:36:59.142968001 -0500
    @@ -147,9 +147,13 @@
       def get_success_indicator(buildDataHash)
         success = true
         text = ''
    +    dontknow=false
         buildDataHash.each { |buildName, buildData|
           text += "#{buildName}: " + " #" + buildData.getInfo().first + "\n"
    -      if buildData.getInfo().first =~ /FAILURE/
    +      if buildData.getInfo().first =~ /\?/
    +          success = false
    +          dontknow = true
    +      elsif buildData.getInfo().first =~ /FAILURE/ or buildData.getInfo().first =~ /broke/
              success = false
           end
    
    @@ -158,9 +162,13 @@
         @tips.set_tip(self, text, nil)
    
         if success
    -	@face.set_fill_color("green")
    +	    @face.set_fill_color("green")
         else
    -        @face.set_fill_color("red")
    +        if dontknow
    +            @face.set_fill_color("orange")
    +        else
    +            @face.set_fill_color("red")
    +        end
         end
       end