Cool ways to use Hudson - voice control
Paul Duvall, from Stelligent, has been experimenting with using voice commands to control a build server. A neat idea!
The basic idea is to use Jott, which is a service that converts your voice messages into email messages. He is running fetchmail on Cygwin to download the mail messages, though, as he remarks, on a *nix build server, native mail tools would do the job with less mucking around. Then he uses an Ant script to read and parse the downloaded messages and kick off a build if an appropriate message is received. Finally, Hudson runs this process at regular intervals.
Hudson is good at monitoring external tasks, so I could see this working well.
Another idea would be to configure the Ant script to accept a command-line parameter indicating the text you are looking for (eg "Build QA"). The script would return 1 or 0 depending on whether it found the specified text in the latest messages. Of course, under Unix, you could do that easily with an ordinary shell script as well, but it would be less portable.
In Hudson, you can define "Post-build actions", things that need to be done once the build finishes. These actions can include running other build jobs. So, you could define one build job, as described above, to monitor your Jott mail messages, and to trigger another build job if any corresponding build orders are found. This other build job would run the actual build. This approach would let you decouple your real build process from the way it is launched.
It's an interesting idea, in any case. Now what I'm wondering is, when the build fails, does Hudson answer with "I'm sorry Dave, I'm afraid I can't do that."