I have a lot of jobs in jenkins and we have decided to make some wide ranging changes to all of them which will be very tedious to change through the UI. It would be much easier to edit them using scripts on the jenkins master machine but I'm not sure how to get jenkins to recognize changes to the the config.xml that haven't come through the UI or another api.
Is there a way to get jenkins to refresh job configurations from disk? Or a better way of mass editing jobs?
Under the "Managr Hudson" option, there's a "Reload Configuration from Disk" item that will do what you want - re-reads the config.xml for projects while Hudson is running. You can always restart Hudson to get the same effect.
Another way to mass edit jobs is to use the REST API; you can edit the job configurations manually and then use HTTP POST to commit them back to Hudson. If you go to [Your Hudson URL]/job/[example job name]/api Hudson will display help information on using the API.
You should probably make use of this plugin
https://wiki.jenkins-ci.org/display/JENKINS/Configuration+Slicing+Plugin
You can use XSLT (templates) to automatically generate configuration xmls and configure via rest api. Use Jenkins to configure its own jobs