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

get the build number string from which artifacts where copied not working anymore

    • Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Minor Minor
    • copyartifact-plugin
    • None
    • Jenkins 2.263.1
      copyartifacts 1.43 and 1.45.3

      I have a job to deploy arbitrary builds

      back in Jenkins 2.249.3, i was able to do the following in declarative:

      pipeline {
      	parameters {
      		choice(name: 'JOB', choices: ["Job A", "Job B"], description: 'The Job from which to take the installation files')
      		buildSelector(name: 'RUN', description: 'Which build to use from Job')
      	}
      	agent any
      	stages {
      		stage('download artifacts')
      		{
      			steps {
      				script {
      					currentBuild.setDescription("using artifacts from $JOB #$params.RUN")
      				}
      				copyArtifacts(projectName: env.JOB, selector: buildParameter(params.RUN))
      			}
      		}
      		stage('deploy')
      		{
      			steps {
      			    sh 'true'
      			}
      		}
      	}
      }
      

       

      By that, the build description was set to e.g. "using artifacts from Job A # 42"

      after upgrading to Jenkins 2.263.1 while keeping copyartifacts 1.43, copyArtifatcs still works, but $params.RUN does not contain the run number anymore, it's jsut empty.

      upgrading to copyartifacts 1.45.3 did not resolve the issue.

          [JENKINS-64604] get the build number string from which artifacts where copied not working anymore

          Rene Buergel created issue -
          Rene Buergel made changes -
          Description Original: I have a job to deploy arbitrary builds

          back in Jenkins 2.249.3, i was able to do the following in declarative:

          pipeline {
             parameters {
              choice(name: 'JOB', choices: ["Job A", "Job B"], description: 'The Job from which to take the installation files')
               buildSelector(name: 'RUN', description: 'Which build to use from Job')
            }
            agent any
            stages {
              stage('download artifacts')
              {
                steps {
                  script {
                    *currentBuild.setDescription("using artifacts from $JOB1 #$params.BUILDRUN1")*
                  }
                  copyArtifacts(projectName: env.JOB, selector: buildParameter(params.RUN))
                }
              }

              ...
            }
          }

           

          By that, the build description was set to e.g. "using artifacts from Job A # 42"

          after upgrading to Jenkins 2.263.1 while keeping copyartifacts 1.43, copyArtifatcs still works, but $params.BUILDRUN1 does not contain the run number anymore, it's jsut empty.

          upgrading to copyartifacts 1.45.3 did not resolve the issue.
          New: I have a job to deploy arbitrary builds

          back in Jenkins 2.249.3, i was able to do the following in declarative:

          {{pipeline {}}
          {{    parameters}}{{{     choice(name: 'JOB', choices: ["Job A", "Job B"], description: 'The Job from which to take the installation files')      buildSelector(name: 'RUN', description: 'Which build to use from Job')   }}}{{  agent any}}
          {{   stages {}}
          {{     stage('download artifacts')}}
          {{     {}}
          {{       steps {}}
          {{         script}}{{{           *currentBuild.setDescription("using artifacts from $JOB1 #$params.BUILDRUN1")*         }}}{{        copyArtifacts(projectName: env.JOB, selector: buildParameter(params.RUN))}}
          {{       }}}
          {{     }}}

          {{    ...}}
          {{   }}}
          {{ }}}

           

          By that, the build description was set to e.g. "using artifacts from Job A # 42"

          after upgrading to Jenkins 2.263.1 while keeping copyartifacts 1.43, copyArtifatcs still works, but $params.BUILDRUN1 does not contain the run number anymore, it's jsut empty.

          upgrading to copyartifacts 1.45.3 did not resolve the issue.
          Rene Buergel made changes -
          Description Original: I have a job to deploy arbitrary builds

          back in Jenkins 2.249.3, i was able to do the following in declarative:

          {{pipeline {}}
          {{    parameters}}{{{     choice(name: 'JOB', choices: ["Job A", "Job B"], description: 'The Job from which to take the installation files')      buildSelector(name: 'RUN', description: 'Which build to use from Job')   }}}{{  agent any}}
          {{   stages {}}
          {{     stage('download artifacts')}}
          {{     {}}
          {{       steps {}}
          {{         script}}{{{           *currentBuild.setDescription("using artifacts from $JOB1 #$params.BUILDRUN1")*         }}}{{        copyArtifacts(projectName: env.JOB, selector: buildParameter(params.RUN))}}
          {{       }}}
          {{     }}}

          {{    ...}}
          {{   }}}
          {{ }}}

           

          By that, the build description was set to e.g. "using artifacts from Job A # 42"

          after upgrading to Jenkins 2.263.1 while keeping copyartifacts 1.43, copyArtifatcs still works, but $params.BUILDRUN1 does not contain the run number anymore, it's jsut empty.

          upgrading to copyartifacts 1.45.3 did not resolve the issue.
          New: I have a job to deploy arbitrary builds

          back in Jenkins 2.249.3, i was able to do the following in declarative:


          {code:java}
          pipeline {
              parameters {
                  choice(name: 'JOB', choices: ["Job A", "Job B"], description: 'The Job from which to take the installation files')
                  buildSelector(name: 'RUN', description: 'Which build to use from Job')
              }
              agent any
              stages {
                  stage('download artifacts')
                  {
                      steps {
                          script {
                              currentBuild.setDescription("using artifacts from $JOB1 #$params.BUILDRUN1")
                          }
          copyArtifacts(projectName: env.JOB, selector: buildParameter(params.RUN))
                      }
                  }
          stage('deploy')
          {
          ...
          }
          }
          }
          {code}

           

          By that, the build description was set to e.g. "using artifacts from Job A # 42"

          after upgrading to Jenkins 2.263.1 while keeping copyartifacts 1.43, copyArtifatcs still works, but $params.BUILDRUN1 does not contain the run number anymore, it's jsut empty.

          upgrading to copyartifacts 1.45.3 did not resolve the issue.
          Rene Buergel made changes -
          Description Original: I have a job to deploy arbitrary builds

          back in Jenkins 2.249.3, i was able to do the following in declarative:


          {code:java}
          pipeline {
              parameters {
                  choice(name: 'JOB', choices: ["Job A", "Job B"], description: 'The Job from which to take the installation files')
                  buildSelector(name: 'RUN', description: 'Which build to use from Job')
              }
              agent any
              stages {
                  stage('download artifacts')
                  {
                      steps {
                          script {
                              currentBuild.setDescription("using artifacts from $JOB1 #$params.BUILDRUN1")
                          }
          copyArtifacts(projectName: env.JOB, selector: buildParameter(params.RUN))
                      }
                  }
          stage('deploy')
          {
          ...
          }
          }
          }
          {code}

           

          By that, the build description was set to e.g. "using artifacts from Job A # 42"

          after upgrading to Jenkins 2.263.1 while keeping copyartifacts 1.43, copyArtifatcs still works, but $params.BUILDRUN1 does not contain the run number anymore, it's jsut empty.

          upgrading to copyartifacts 1.45.3 did not resolve the issue.
          New: I have a job to deploy arbitrary builds

          back in Jenkins 2.249.3, i was able to do the following in declarative:
          {code:java}
          pipeline {
          parameters {
          choice(name: 'JOB', choices: ["Job A", "Job B"], description: 'The Job from which to take the installation files')
          buildSelector(name: 'RUN', description: 'Which build to use from Job')
          }
          agent any
          stages {
          stage('download artifacts')
          {
          steps {
          script {
          currentBuild.setDescription("using artifacts from $JOB1 #$params.BUILDRUN1")
          }
          copyArtifacts(projectName: env.JOB, selector: buildParameter(params.RUN))
          }
          }
          stage('deploy')
          {
          ...
          }
          }
          }
          {code}
           

          By that, the build description was set to e.g. "using artifacts from Job A # 42"

          after upgrading to Jenkins 2.263.1 while keeping copyartifacts 1.43, copyArtifatcs still works, but $params.BUILDRUN1 does not contain the run number anymore, it's jsut empty.

          upgrading to copyartifacts 1.45.3 did not resolve the issue.

          ikedam added a comment -

          I could not get what `BUILDRUN1` come from and why you believe `BUILDRUN1` should work.
          Your example pipeline script may be broken. Please check that.

          ikedam added a comment - I could not get what `BUILDRUN1` come from and why you believe `BUILDRUN1` should work. Your example pipeline script may be broken. Please check that.
          ikedam made changes -
          Assignee Original: ikedam [ ikedam ] New: Rene Buergel [ reneb ]
          Rene Buergel made changes -
          Description Original: I have a job to deploy arbitrary builds

          back in Jenkins 2.249.3, i was able to do the following in declarative:
          {code:java}
          pipeline {
          parameters {
          choice(name: 'JOB', choices: ["Job A", "Job B"], description: 'The Job from which to take the installation files')
          buildSelector(name: 'RUN', description: 'Which build to use from Job')
          }
          agent any
          stages {
          stage('download artifacts')
          {
          steps {
          script {
          currentBuild.setDescription("using artifacts from $JOB1 #$params.BUILDRUN1")
          }
          copyArtifacts(projectName: env.JOB, selector: buildParameter(params.RUN))
          }
          }
          stage('deploy')
          {
          ...
          }
          }
          }
          {code}
           

          By that, the build description was set to e.g. "using artifacts from Job A # 42"

          after upgrading to Jenkins 2.263.1 while keeping copyartifacts 1.43, copyArtifatcs still works, but $params.BUILDRUN1 does not contain the run number anymore, it's jsut empty.

          upgrading to copyartifacts 1.45.3 did not resolve the issue.
          New: I have a job to deploy arbitrary builds

          back in Jenkins 2.249.3, i was able to do the following in declarative:
          {code:java}
          pipeline {
          parameters {
          choice(name: 'JOB', choices: ["Job A", "Job B"], description: 'The Job from which to take the installation files')
          buildSelector(name: 'RUN', description: 'Which build to use from Job')
          }
          agent any
          stages {
          stage('download artifacts')
          {
          steps {
          script {
          currentBuild.setDescription("using artifacts from $JOB #$params.RUN")
          }
          copyArtifacts(projectName: env.JOB, selector: buildParameter(params.RUN))
          }
          }
          stage('deploy')
          {
          ...
          }
          }
          }
          {code}
           

          By that, the build description was set to e.g. "using artifacts from Job A # 42"

          after upgrading to Jenkins 2.263.1 while keeping copyartifacts 1.43, copyArtifatcs still works, but $params.BUILDRUN1 does not contain the run number anymore, it's jsut empty.

          upgrading to copyartifacts 1.45.3 did not resolve the issue.
          Rene Buergel made changes -
          Description Original: I have a job to deploy arbitrary builds

          back in Jenkins 2.249.3, i was able to do the following in declarative:
          {code:java}
          pipeline {
          parameters {
          choice(name: 'JOB', choices: ["Job A", "Job B"], description: 'The Job from which to take the installation files')
          buildSelector(name: 'RUN', description: 'Which build to use from Job')
          }
          agent any
          stages {
          stage('download artifacts')
          {
          steps {
          script {
          currentBuild.setDescription("using artifacts from $JOB #$params.RUN")
          }
          copyArtifacts(projectName: env.JOB, selector: buildParameter(params.RUN))
          }
          }
          stage('deploy')
          {
          ...
          }
          }
          }
          {code}
           

          By that, the build description was set to e.g. "using artifacts from Job A # 42"

          after upgrading to Jenkins 2.263.1 while keeping copyartifacts 1.43, copyArtifatcs still works, but $params.BUILDRUN1 does not contain the run number anymore, it's jsut empty.

          upgrading to copyartifacts 1.45.3 did not resolve the issue.
          New: I have a job to deploy arbitrary builds

          back in Jenkins 2.249.3, i was able to do the following in declarative:
          {code:java}
          pipeline {
          parameters {
          choice(name: 'JOB', choices: ["Job A", "Job B"], description: 'The Job from which to take the installation files')
          buildSelector(name: 'RUN', description: 'Which build to use from Job')
          }
          agent any
          stages {
          stage('download artifacts')
          {
          steps {
          script {
          currentBuild.setDescription("using artifacts from $JOB #$params.RUN")
          }
          copyArtifacts(projectName: env.JOB, selector: buildParameter(params.RUN))
          }
          }
          stage('deploy')
          {
          steps {
          sh 'true'
          }
          }
          }
          }
          {code}
           

          By that, the build description was set to e.g. "using artifacts from Job A # 42"

          after upgrading to Jenkins 2.263.1 while keeping copyartifacts 1.43, copyArtifatcs still works, but $params.BUILDRUN1 does not contain the run number anymore, it's jsut empty.

          upgrading to copyartifacts 1.45.3 did not resolve the issue.

          Rene Buergel added a comment - - edited

          sorry, i fixed the example pipeline script

          Rene Buergel added a comment - - edited sorry, i fixed the example pipeline script
          Rene Buergel made changes -
          Assignee Original: Rene Buergel [ reneb ] New: ikedam [ ikedam ]

            reneb Rene Buergel
            reneb Rene Buergel
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: