We all love webapps, but in the former days applications have done so much more. They were integrated into our desktops, they have done notifications in real time, they could be customized to our own needs …
But let’s start at the beginning:
In my current project we have a large number of jenkins jobs running, some of them are responsable for long running tests und some will check if branches merge without conflict. So there is a lot of potential of things that can and will break and in a large team you will be very happy when you can fix it fast, before someone gets hurt ;)
Now, you might say, use the jabber plugin to get notifications and yes we have the jabber plugin running, but the connection between jenkins and our jabber server is somehow unstable.
So I thought, as developer, why not create my own script which let me poll the state of the jenkins jobs and aggregate the results. After a little google session I found the jenkins rest API, hacked a small groovy script which polls this API and done the notification via the Mac OS X ‘say’ command. Later I found a tool in the Apple App Store which allows me to display the output of a command line script on the desktop in really nice way…
So the first incarnation of JenkinsBell was born …
After a short while some colleges of mine got aware of the cool looking desktop background and they used the script too. And like customers, they always want more shiny features…
And so a full featured Mac OS X application was built around the small groovy script to integrate in a nifty way with the desktop.
Currently Supported Features :
- Monitors multiple Jobs on multiple Servers
- Organize Jobs in Groups
- Open Jobs/Builds Page in Browser
- Spoken Notifications (optional)
- Popup Notifications (optional)
- System Tray Integration (optional)
- Dock Integration on Mac OSX
- Notification Center Integration on Mac OSX (via bundled up terminal-notifier)
- Support for authentication token for secured Jenkins
- Configuration GUI
- GeekTools Integration
Enjoy the Screenshot Gallery:
How to get it?
Use git to get a running version from github with a single command:
git clone git://github.com/comsysto/jenkins-bell.git /Applications/JenkinsBell.app
If you like the app or if there are any features you might miss, please leave a comment…
My next blog post will describe some of the inner workings of JenkinsBell and how you can build a full featured, build-less Mac OS X application from a bunch of groovy scripts.