-
Bug
-
Resolution: Not A Defect
-
Minor
-
None
-
Job DSL plugin version: 1.43
Jenkins version: 1.632
Hudson Build Publisher plugin not installed
I configured a mavenJob to discard old builds:
mavenJob(name) { ... publishers { publishBuild { discardOldBuilds(-1, 20) } } }
I get a warning in the console logs, and the DSL job is unstable, because it requires version 1.20 of the build-publisher plugin. However, the Maven job is created with the "Discard old builds" correctly set.
My guess is that discarding old builds no longer requires the build-publisher plugin, and it should not be under the PublishBuildContext:
@RequiresPlugin(id = 'build-publisher', minimumVersion = '1.20') void publishBuild(@DslContext(PublishBuildContext) Closure contextClosure = null) { PublishBuildContext publishBuildContext = new PublishBuildContext() ContextHelper.executeInContext(contextClosure, publishBuildContext) publisherNodes << new NodeBuilder().'hudson.plugins.build__publisher.BuildPublisher' { publishUnstableBuilds(publishBuildContext.publishUnstable) publishFailedBuilds(publishBuildContext.publishFailed) if (publishBuildContext.discardOldBuilds) { logRotator { daysToKeep(publishBuildContext.daysToKeep) numToKeep(publishBuildContext.numToKeep) artifactDaysToKeep(publishBuildContext.artifactDaysToKeep) artifactNumToKeep(publishBuildContext.artifactNumToKeep) } } } }