Changing Jenkins build number

前端 未结 8 742
情深已故
情深已故 2020-12-04 06:17

Is there a way to change the build number that is sent via email after a job completes? The problem is that are product builds are NOT being done by Jenkins, so we want to

相关标签:
8条回答
  • 2020-12-04 06:41

    Perhaps a combination of these plugins may come in handy:

    • Parametrized build plugin - define some variable which holds your build number
    • Version number plugin - use the variable to change the build number
    • Build name setter plugin - use the variable to change the build number
    0 讨论(0)
  • 2020-12-04 06:49

    If you have access to the script console (Manage Jenkins -> Script Console), then you can do this following:

    Jenkins.instance.getItemByFullName("YourJobName").updateNextBuildNumber(45)
    
    0 讨论(0)
  • 2020-12-04 06:49

    Under the job workspace folder, like:

    C:\Program Files (x86)\Jenkins\jobs\job_name
    

    there is a file named nextBuildNumber.

    Setting the build number in the file and reloading the configuration from disk (Manage Jenkins menu) will force the next build you start to have the value from the file as BUILD_NUMBER.

    0 讨论(0)
  • 2020-12-04 06:49

    By using environmental variables:

    $BUILD_NUMBER =4
    
    0 讨论(0)
  • 2020-12-04 06:55

    For multibranch pipeline projects, do this in the script console:

    def project = Jenkins.instance.getItemByFullName("YourMultibranchPipelineProjectName")    
    project.getAllJobs().each{ item ->   
        
        if(item.name == 'jobName'){ // master, develop, feature/......
          
          item.updateNextBuildNumber(#Number);
          item.saveNextBuildNumber();
          
          println('new build: ' + item.getNextBuildNumber())
        }
    }
    
    0 讨论(0)
  • 2020-12-04 06:57

    If you have branch name including Forward Slash (using git flow for example), you will need to replace the Forward Slash with its Unicode character %2F within the branch name.

    Here is an example for the pipeline My-Pipeline-Name and the branch release/my-release-branch-name

    Jenkins.instance.getItemByFullName("My-Pipeline-Name/release%2Fmy-release-branch-name").updateNextBuildNumber(BUILD_NUMBER)
    

    I was able to find out about this by running the following command which will list the different jobs (branches) for your pipeline

    Jenkins.instance.getItem("My-Pipeline-Name").getAllJobs()
    

    Hope it helps.

    0 讨论(0)
提交回复
热议问题