title: Pipeline DSL: Change build name on the fly
body: <p>i would like to run some builds in parallel based on one core job (downstream job) , in the following code there is no option to change the build name on the fly, for example instead of numbers (default) , i want to get ABCDE_${number} , is that possible?</p>
  
  <p>i tried to use some plugin of Version Number plug in, but i cannot set build number ....  </p>
  
  <pre><code>    stage ("Run Tests") {
  
          steps {
  
              dir("UIAutomationV2.0") {
                  script {
                          tasks = [:]
                          products_set = [].toSet()
  
                          features_list.each {
  
                              def featureName = it.key
  
                              tasks[featureName] = {
  
                                  withEnv(["FEATURE_NAME=${featureName}"]) {
  
                                      def valArr = it.value.split(",")
                                      def productName = valArr[0]
                                      def productPath = valArr[1]
  
                                      def runnerFeaturePath = productPath.replace("UIAutomationV2.0/", '')
  
                                      metaData["tests"][it.key]['phases']['Run Tests']["startTime"] = getEpochTime();
                                          println "Run test startTime : " + metaData["tests"][it.key]['phases']['Run Tests']["startTime"]
  
                                      println "Calling build for feature '${featureName}' in job '${productName}' under path ='${productPath}' "
                                      pJob = build job: "v2_Core_Task_Runner_Slack", propagate: false, parameters: [
                                          [$class: 'StringParameterValue', name: 'FeatureName', value: "${featureName}"],
                                          [$class: 'StringParameterValue', name: 'FeaturePath', value: "${runnerFeaturePath}"],
                                          [$class: 'StringParameterValue', name: 'TagName', value: "${params.TagName}"],
                                          [$class: 'StringParameterValue', name: 'Environment', value: "${params.Environment}"],
                                          [$class: 'BooleanParameterValue', name: 'CreateTenant', value: params.CreateTenant],
                                          [$class: 'StringParameterValue', name: 'TagNameCondition', value: "${params.TagNameCondition}"],
                                          [$class: 'StringParameterValue', name: 'TenantTemplate', value: "${params.TenantTemplate}"],
                                          [$class: 'StringParameterValue', name: 'ClientLabel', value: "AGENTS_LABEL_${JOB_NAME}_${BUILD_NUMBER}"] 
                                      ]
  
                                      metaData["tests"][it.key]['phases']['Run Tests']["endTime"] = getEpochTime();
                                      metaData["tests"][it.key]['consoleUrl'] = pJob.getAbsoluteUrl();
                                      metaData["tests"][it.key]['result'] = pJob.getResult();
                                      //pJob.nextBuildNumber = pJob.nextBuildNumber() + 1
                                      println "Job result = " + pJob.getResult() + ", Url: " + pJob.getAbsoluteUrl()
                                  //  def nextBldNo = VersionNumber(versionNumberString: '${BUILD_DATE_FORMATTED, "yyyyMMdd"}-feature-${featureName}-${BUILDS_TODAY}')
                                  //  nextBldNo = '${nextBldNo}' + pJob.nextBuildNumber
                                  //  println "next build :: " + '${nextBldNo}'
                                  //  println "next build num &gt;&gt; " +  VersionNumber(versionNumberString: '${BUILD_DATE_FORMATTED, "yyyyMMdd"}-feature-${featureName}-${BUILDS_TODAY}')
                                      println "Copy artificats to 'allreports/${productName}/${featureName}'"
  
                                      copyArtifacts(
                                          projectName: 'v2_Core_Task_Runner_Slack',
                                          filter: '**/report.json',
                                          fingerprintArtifacts: true,
                                          target: "allreports/${productName}/${featureName}",
                                          flatten: true,
                                          selector: specific(pJob.getId()),
                                          optional: true
                                      )
  
                                      println "Run test endtime : " + metaData["tests"][it.key]['phases']['Run Tests']["endTime"]
  
  
  
                          parallel tasks
                          metaData["endTime"] = getEpochTime()
                          metDataStr = new JsonBuilder(metaData).toPrettyString()
  
                          //killPhaseCondition("NEVER")
  
  
                  }
              }
          }
      }
  </code></pre>