Jenkins BuildMonitor – 20000 Downloads Later
Yesterday, Jenkins BuildMonitor Firefox Add-on surpassed 20,000 downloads. I uploaded the first version on June 8th, 2008, so that’s almost 3 years ago, and there have been 26 releases since.
On average, there are about 2500-2700 active daily users on weekdays. That became the basis of my release mantra: “Let’s not piss 2500 people off.”
The top locales are en-US, de, en-GB, fr, ja, pl. We’ve got en, fr, and ja locales covered https://github.com/jenkinsci/firefox-extension-buildmonitor/tree/master/src/main/resources/firefox/chrome/locale. Any German or Polish translator around? please feel free to submit a pull request.
While the top operating systems are Windows, Linux, Darwin, Solaris, FreeBSD.
And as you know, this add-on is now named Jenkins BuildMonitor, though in practice it should still work with both Jenkins and Hudson just fine. As for the project management, I’m staying with the original Hudson – now Jenkins – community, source code on GitHub, mailing list on Google Groups, etc.
Hudson BuildMonitor v1.5.5
FIFA World Cup 2010 update: Australia was demolished by Germany 0-4.
After ten months since the last public approval (v1.0.2) and four review rejections from the Mozilla editors, Hudson BuildMonitor v1.5.5 was finally approved a couple of weeks ago.
This version contains a major refactoring effort, attempting to separate the generic JavaScript code from the Firefox specific code. The goal was to make it easier for me to create a Chrome extension version of Hudson BuildMonitor, but of course I never had the time to do it and by now there are already two Chrome extensions out there, Hudson Extension by sanitz and Hudson Monitor by Henning Hoefer.
What I didn’t know back then when I started the refactoring effort was that Mozilla introduced an add-on verification suite about a month after v1.0.2, and that the Mozilla editors started working on reducing global namespace pollution. Those two things were good of course, it’s just that I had to put more sporadic efforts to work on those changes, which then stretched this release even longer.
Some of those changes are:
- Everything is now namespaced, and I really mean everything. The editors even picked up un-namespaced external libraries, which means Dean Edward’s Base is now name_edwards_dean.Base .
- setTimeout usage should be replaced by nsITimer.
- Login details management should use *drumroll* nsILoginManager.
- Datejs can’t be used anymore because it extends native Date, I replaced it with Matt Kruse’s Date library.
Out of the bug fixes included in the 1.5.x releases, I’m particularly happy with:
- Finding a workaround for HUDSON-2979, a problem that has been a blocker for OS X users. I bought a MacBook Pro about six months ago and was finally able to investigate this error myself.
- Fixing the mysterious error with French translation files. It used to work in older versions prior to v1.0.2 because the property files were UTF-8 without byte order mark and they contained non-ASCII characters, then at one point it was accidentally encoded as ISO-8859-1 while still having those non-ASCII characters which then broke the add-on. To avoid this problem from happening again in the future, I decided to take the safer option and unicode-escape those non-ASCII characters.
Working on Hudson BuildMonitor on and off for the past two years (the first release was on 8 June 2008, wow, has it been _that_ long?) has been a good opportunity to revisit JavaScript, a language many developers used to look down at. I agree with Douglas Crockford that JavaScript has been misunderstood, checkout his talk on JavaScript: The Good Parts at Google, and with the emergence of server side JavaScript, I believe this language is going to take off next year.
And to those who are still using Hudson BuildMonitor, thank you.
Projects: buildmonitor firefox http basic authentication hudson
by Cliffano Subagio
2 comments
BuildMonitor v1.0
It’s been a long time since the last one (v0.9.2 – November 2008), but I’ve finally managed to release Hudson Build Monitor v1.0 . This add-on is still in the sandbox, I’ve been waiting for approval from the Mozilla editors for the last 9 months, so unfortunately you still have to login to download it.
A new feature in this release is build executor monitoring. This feature will work only on Hudson instance feeds (non-job feeds), and you have to enable it via Prefereces window -> Feeds tab -> Enable executor monitoring check box.

The executor status will be displayed next to the build status. It’s blue when one of the executors is running a build, red when one of the executors is stuck, and grey when all executors are idle or offline.
Another new feature is the support for HTTP Basic Authentication, this has been requested by a number of users with password-protected Hudson feeds. You can set the username and password in Preferences windows -> Network tab -> Username and Password fields.

Thanks to Jason Meridth who helped with testing this feature and wrote up his experience.
Other minor changes in this release:
- ‘Add Link To Hudson Build Monitor’ menu only appears when you’re right clicking Hudson feed links (for all, for failures, for just latest builds), and no longer for all links.
- Preference window is now tab-ified as seen from the above screenshot.
- Hudson icon tooltip on Firefox status bar now displays a message that recommends user to add Hudson feed link via right click menu instead of manually adding the URL to Preferences window Feeds section. This feature was already implemented in v0.9 (released in November 2008) and documented on the wiki page, however, there are quite a number of users who are still not aware of it and keep adding the feed URL manually following the old tooltip message.
As usual, translations have been updated thanks to Eric Lefevre-Ardant and Seiji Sogabe. Unfortunately I had to temporarily disable the French translation in v1.0 due to something wrong with the file/text(s) which breaks the add-on. I’ll do a patch release when it’s all sorted out, in the mean time, users with French locale on Firefox will get the default English texts.
Build Executor Monitoring
Here’s a sneak peek of Hudson Build Monitor‘s new feature, the ability to monitor build executors from Firefox statusbar panel. This feature was requested by Espens back in July last year. Espens was one of the earliest users who raised lots of ideas and feature requests. Thanks Espens!
In retrospective, I should’ve implemented this feature much earlier as I found out recently how useful it is to be able to keep track of the currently running builds and the status of the executors. Having a stuck executor is like losing a leg, sometimes you end up with a lot of builds waiting in the queue just because a master/slave doesn’t have any idle executor.

I’ve been monitoring Apache Hudson instance, and that jspf-trunk build has been stuck for the past 3 days. If the master instance is set up following the 1 executor per 1 CPU suggestion, that’s like wasting 1 CPU resource not doing anything (if the box is dedicated for Hudson).
Build executor monitoring will be included in v1.0 release about 2 weeks from now.
Another good news is that Hudson Build Monitor Firefox Add-on was featured in the tools tips section of JavaTools Community Newsletter on December 29th, 2008. It’s a few months old, but someone just told me about it :p. Thank you!
BuildMonitor v0.9.1 – Oui!
BuildMonitor v0.9.1 was released yesterday. This is the first version with French l10n bundled, thanks to Eric Lefevre who submitted the translations.
I added a new ‘Build’ menu to trigger the build of a particular job. This menu item only comes up on a job feed.

Another little improvement is a new option on the preference window to hide the feed name on Firefox status bar. This is useful when you need to monitor many feeds.
![]()
![]()
… starting to look like a weather forecast.


