Thursday, May 28, 2009

Hudson Helper: Hudson On Your iPhone

I'm a big fan of Continuous Integration and automated builds. So much so that today I released Hudson Helper, a native iPhone and iPod Touch application for monitoring your Hudson continuous integration engine.

Hudson Helper has a simple interface that gives you what you need to know first. Offline data caching helps to minimize network bandwidth and makes it work when the network is unavailable. Includes job status, health and build trends.

Build status display adapts to your project to report on build health including JUnit test results, Clover coverage, findbugs and any other Hudson build report plug-ins your project is running.

To get started all you need to do is point Hudson Helper at the URL of your build server. You can get Hudson Helper by searching for 'Hudson Helper' in the app store, or click here to get it with iTunes.

48 comments:

Patrick Renaud said...

This is truely awesome. Have you considered adding the capability to kick off a build just by shaking the phone, or something similar?

Jerry Gulla said...

Looks very interesting, and I even tried to buy it, but no joy. Why restrict it to just the iPhone? Us touch users would like a go, too ;-)

David Green said...

@Patrick Renaud Thanks for the feedback. Yes, a bunch of feature ideas for the next round: kicking off builds, stopping builds in progress, push notifications, more stats, etc.

@Jerry Gulla sorry that the install didn't work for you. It has worked fine for some other iPod Touch users. Could it be that you're not running version 2.2 of the OS?

David Green said...

@Patrick Renaud BTW I hadn't thought of shaking... good idea. What if there's an earthquake? ;)

Anonymous said...

Does not work if you need a http basic auth. Very bad news; after purchase. Need a quick update please !!

David Green said...

@Anonymous I'll see what I can do for you.

Anonymous said...

I have to echo my disappointment with the lack of authentication, although I can't say I am surprised. A few Hudson features and add-ons (like the recent hduson-cli, and the first version of the IDEA plugin) assume anonymous Hudson access. Makes me wonder how many insecure Hudson servers are on the 'net, allowing any web surfer to see sensitive build data.

David Green said...

@Anonymous rest assured that I'm actively working on adding support for Hudson instances that require authentication.

Clint said...

David, this looks cool, but I'm seeing the same problem that Jerry reported. When attempting to download the app on my iPod Touch it says it's only compatible with the iPhone. I'm running OS version 2.2.1.

... looking forward to a fix.

David Green said...

@Clint and @Jerry Gulla, looks like I had inadvertently selected 2nd generation devices only. I've set it now so that it should be compatible with 1st generation devices too. It may take awhile before the app store is updated, but hopefully this will solve the issue for you. Please let me know how it works out!

David

Clint said...

Thanks. That did the trick. I successfully installed on my iPod Touch this morning. I'll try out the app in my Hudson environment tomorrow.

David Green said...

@Clint Great! Glad that it works for you.

BTW, I've got a new version supporting HTTP authentication waiting for app store approval.

Anonymous said...

Great news. Thnak you.

Cybik said...

@David on Earthquakes: You'll simply have earlier-than-expected manual CI results... :P

Patrick Renaud said...

That could be easily purged by blowing on the iPhone! :-)

Jakub said...

Very cool! Just got it running on my iPhone. Any chance of getting some UI to manually run jobs inside Hudson?

David Green said...

@Jakub, you bet. Lots of people are asking for it so it's high on the list.

Anonymous said...

Hello,

I am just interested to know that how do you get the data from Hudson CI server? Are you using Web services (RESTful/JSON) client in iPhone to get the data from Hudson? Can you please let me know?

Thanks.

David Green said...

@Anonymous Hudson provides a remote API (XML or JSON) for tool integration. Hudson Helper uses the XML version of the API, which is somewhat RESTful.

Anonymous said...

I just downloaded from ITunes and I'm excited to see this, but I must be missing something simple.

There is not "settings" option as the about mentions. All I have it "about" and the refresh icon under "All Jobs".

What am I missing?

David Green said...

@Anonymous Hudson Helper settings are available in the settings application along with all of your other iphone/ipod settings. You can access these from the home screen by launching "Settings" and then selecting "Hudson Helper".

Peter said...

Another vote for basic authentication please!

Olivier said...

It seems it does not support --prefix yet, am I right?

David Green said...

@Olivier yes, it does. Simply enter the server URL as you would in your web browser. For example, if your --prefix is 'foobar' then you would enter http://myserver/foobar

Olivier said...

Well I had tried that, obviously. But then I can't access the build results. It sees the jobs alright, but then it uses a wrong URL to go down the actual results. I can't remember the exact error, I have removed the prefix and it is now working fine.

David Green said...

@Olivier if you send me via email the prefix that you used and any other relevant information (such as screenshots or server log entries) I'll look into it for you. dgreen99@gmail.com

David Green said...

For all of you that have been waiting, a new version is now available on the app store supporting HTTP authentication.

Mitch Blevins said...

Great idea. The initial screen scrolls very jerkily if there are a large number of project (~100). Also, the network indicator appears to stutter on and off even when o the initial screen and it is already loaded.

David Green said...

@Mitch Blevins thanks for your feedback.

> The initial screen scrolls very jerkily if there are a large number of project (~100).

This can be a problem if the phone is busy updating from the network. Once everything's loaded it should be smooth. I suggest pointing Hudson Helper at one or more Hudson views to reduce the number of builds you're looking at.

> Also, the network indicator appears to stutter on and off even when o the initial screen and it is already loaded.

This is normal in most cases: initially everything's loaded from the cache. Once that's done Hudson Helper will update each build.

The Teknologist said...

Hi,
I just purchased the app and it refreshes but doesn't show anything.

Well it shows my job name but the page for the job is blank.

I am using latest hudson with hudson managed security

I have tried the wget method to see if the XML remote API works and auth is ok:

http://wiki.hudson-ci.org/display/HUDSON/Authenticating+scripted+clients


Don't know why the job's page is blank...


Thanks in advance for your help!

Cheers,

--Eric

David Green said...

@The Teknologist (Eric) usually people encounter this problem if the Hudson URL is set incorrectly in their Hudson server configuration. The server name and port in the server configuration must match the server name and port configured in Hudson Helper. You will find this setting under Manage Server -> Configure System -> Hudson URL


If that's not your issue then please email me directly (dgreen99@gmail.com) for support

LeeMeador said...

We had the same problem Oliver mentioned about the prefix. We entered http://hudson.company.com:8090/hudson as the base URL. We entered no id or password. The main page shows fine with the list of applications and colorful balls. When you "click" one of them, only the top little section appears with the app name. If you click that it shows an error page saying /job/application (with our 'application' name). On my browser, the URL /hudson/job/application will show application detail. Perhaps the combination of port and prefix gets it confused. (We haven't tried setting it to the view /hudson/view/viewName yet.)

David Green said...

@LeeMeador Please see the previous comment about Hudson URL in your server configuration. In all cases so far where people have encountered this issue, setting the Hudson URL in the server configuration fixed the problem.

If that doesn't work for you please email me for support.

Olivier said...

I fixed the server URL but am still not getting any Trends graphics. We are not running any tests, but I was expecting to see a Build Time graphic. Any idea?

David Green said...

@Olivier please email me for support.

Matt said...

Heya David, I bought your app a week ago and found that it works exactly as advertised. Thanks for a nice piece of software!

Anonymous said...

David, we would like to access our Hudson over https with a self-signed certificate. Can you provide us with some pointers on how to register our certificate in our phone profiles, as you write in the app store?

Thank you,
- Andreas

David Green said...

@Anonymous regarding untrusted certificates, people have had success following these instructions.

Term Paper said...

Thanks. That did the trick. I successfully installed on my iPod Touch this morning. I'll try out the app in my Hudson environment tomorrow.

swetha said...

i had included an xcode project in hudson using svn on windowsXP..what are the prerequisites to start building iPhone apps on hudson..

David Green said...

@swetha that's something that I haven't attempted, however a quick Google search reveals that it has been done.

Term papers said...

Always so interesting to visit your site.What a great info, thank you for sharing. this will help me so much in my learning.

tava tea said...

David, this looks cool, but I'm seeing the same problem that Jerry reported. When attempting to download the app on my iPod Touch it says it's only compatible with the iPhone. I'm running OS version 2.2.1.

David Green said...

@tava I'm sorry it's not working for you. I expect that it will work for you if you update to version 3.x of the os or newer.

Manuka Honey said...

Brilliant, just the right level, thanks.

smjo said...

I could not find Hudson Helper in the ITunes store. Do you still develop and maintain it or did you give up on it?

David Green said...

@smjo sadly Apple removed it from their store after I let my developer subscription run out.

Corey Goldberg said...

This app is great! (Android)

still works fine with latest Jenkins server.