That's fair. For my use case, we were already using the `groovy init.d hooks` so that fits better into our current setup.
For what it's worth, I was able to use the `init.groovy.d` hook and use something like (simplified config):
import jenkins.*;
import jenkins.model.*;
import org.jenkinsci.plugins.impliedlabels.Implication;
impliedLabels = Jenkins.instance.getExtensionList(org.jenkinsci.plugins.impliedlabels.Config.class)[0]
Collection<Implication> settings = [
new Implication('win2012r2 && docker', 'win-docker'),
new Implication('linux && docker', 'linux-docker')
]
impliedLabels.implications(settings)
For full disclosure, this has not been extensively tested so there may be a little peril.
Thanks for the enhancement request. I agree that it would be much better if the configuration of the implied labels plugin could be described in JCasC.
My current workaround is to store the XML implied labels definition file. See an example in https://github.com/MarkEWaite/docker-lfs/blob/lts-with-plugins/ref/org.jenkinsci.plugins.impliedlabels.Config.xml