Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-33184

JobDSL plugin requires build-publisher plugin to use discardOldBuilds

    • Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Minor Minor
    • job-dsl-plugin
    • 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)
                      }
                  }
              }
          }
      

            bvdberg Benjamin van den Berg
            bvdberg Benjamin van den Berg
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: