As Christopher mentions, Hudson stores all of it's data on disk which means that you can easily edit the configuration of any and all jobs on disk and tell Hudson to then reload the configuration from disk.
A couple of months ago I needed to change a few dozens jobs to email one distribution list instead of another (really, distribution lists are the answer here, I can't imagine editing the configuration files for each new address), and here is the sed command I used:
#from $HUDSON_HOME directory
for i in `ls */config.xml`; do sed -i.bak 's/oldlist@/newlist@/' $i; done
The -i
switch means "edit files in place" and adding a suffix to it (.bak
) tells sed to make a backup of the original file first (in files that end with the suffix .bak
).
If you wanted to instead add a new email address to a list of existing email addresses, you'd have to adjust your sed command to search for whatever string in the config.xml
file you are hoping to match.
After this, login to the hudson management console and tell it to reload configuration info.