Setting Jenkins Node Monitor Thresholds with Groovy
Mar 24, 2017
Today I ran across a case where we were trying to programmatically set the threshold for when Jenkins
will automatically turn off a Jenkins agent (found under
The default is
1GB and we’d like to bump that up a bit. We’re periodically wiping out any nodes that are
offline (as well as the resources behind that node) so doing this will clean them out sooner.
Discovering how to do this turned out to be a bit trickier than normal. After some research I discovered that the
DescribableList that comes from ComputerSet.getMonitors() was the ticket.
DiskSpaceMonitor is obviously an idempotent object based on the doc so it seemed that replacing
it somewhere was what was necessary. So, if you would like to replace any of the NodeMonitors in the
hudson.node_monitors package (listed under
https://$YOUR_JENKINS_HOST/computer/configure) then you
can do something similar to this:
import hudson.node_monitors.DiskSpaceMonitor ComputerSet.getMonitors().replace(new DiskSpaceMonitor("5GB"))
Groovy!comments powered by Disqus