| Code changed in jenkins User: Robert Sandell Path: src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/model/Agent.groovy src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/config/DockerLabelProvider.java src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/config/FolderConfig.java src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/config/GlobalConfig.java src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/steps/DockerLabelStep.java src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/Messages.properties src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/config/FolderConfig/config.groovy src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/config/FolderConfig/help-dockerLabel.html src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/config/GlobalConfig/config.groovy src/main/resources/org/jenkinsci/plugins/pipeline/modeldefinition/config/GlobalConfig/help-dockerLabel.html src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/AbstractModelDefTest.java src/test/java/org/jenkinsci/plugins/pipeline/modeldefinition/steps/DockerLabelStepTest.java src/test/resources/agentDockerEnvSpecLabel.groovy src/test/resources/agentDockerEnvTest.groovy src/test/resources/dockerLabel.groovy http://jenkins-ci.org/commit/pipeline-model-definition-plugin/5adc8cd8ec379b610e5c3602f8c415ffeb598a27 Log: JENKINS-39109 Add a configuration option for what label to use for docker agents This adds a folder property and a global configuration where the administrator, or someone configuring a folder, can specify what label expression to use with a pipeline with agent docker: "" and omitting the label. The folder property can be specified on any folder in the hierarchy and the closest parent to the run is consulted first and then up the tree, lastly the global configuration is consulted for a value. An extension point is also introduced with specified ordinals for the existing extensions with ample room to spare in between in case something wants to jump in between. Lastly a step that returns the value of the extension point that first returns a non null value. |