Reputation: 35
In my scripted pipeline I want to create a lock that will persists in the global Jenkins configuration, after the pipeline has finished. I tried the following to no avail.
import org.jenkins.plugins.lockableresources.LockableResourcesManager as LRM
lrm = LRM.get()
lrm.createResource("my_lock")
lrm.save()
The lockable resource is ephemeral: It is created and can be used, but it does not persist. I am on Jenkins 2.226 running the Lockable Resources plugin 2.7.
Upvotes: 3
Views: 1182
Reputation: 71
Your code should look like this:
import org.jenkins.plugins.lockableresources.LockableResourcesManager as LRM
lrm = LRM.get()
lrm.createResource("my_lock")
// Get lockable resource by name
def lockableResource = lrm.fromName("my_lock")
// Make resource permanent (Resources are ephemeral by default)
lockableResource.setEphemeral(false)
lrm.save()
Lockable resources are ephemeral by default. To override it, use method setEphemeral(boolean)
.
Upvotes: 3