簡體   English   中英

通過Groovy腳本獲取Jenkins內部版本號?

[英]Get Jenkins build number via Groovy script?

我有一個名為“ deploy-job”的Jenkins參數化構建,並且我將“可擴展選擇”選項設置為“系統Groovy選擇參數”。 在Groovy腳本框中,我有這個

import hudson.model.*

BUILD_JOB_NAME = "build-multi-branch-pipeline-job"

def getJobs() {
    def hi = Hudson.instance
    return hi.getItems(Job)
}

def getBuildJob() {
    def buildJob = null
    def jobs = getJobs()
    (jobs).each { job ->
        if (job.displayName == BUILD_JOB_NAME) {
            buildJob = job
        }
    }
    return buildJob
}

def getAllBuildNumbers(Job job) {
    def buildNumbers = []
    (job.getBuilds()).each { build ->
        def status = build.getBuildStatusSummary().message
        if (status.contains("stable") || status.contains("normal")) {
          buildNumbers.add(build.BUILD_NUMBER.toString())
        }
    }
    return buildNumbers
}

def buildJob = getBuildJob()
return getAllBuildNumbers(buildJob)

但是,當我運行“ deploy-job”時,當我運行帶有參數的Build時,在選擇框中沒有看到“ multi-branch-pipeline-job”的內部版本號。

我懷疑我沒有打這個電話好嗎?

buildNumbers.add(build.BUILD_NUMBER.toString())

在這種情況下正確的語法是什么? 謝謝!

1 /使用try-catch查看您選擇的錯誤。 這將幫助您了解錯誤。

def getAllBuildNumbers(Job job) {
    try {
        ...
        return buildNumbers
    }catch(Throwable t){ 
        return [t.toString()]
    }
}

2 /您的答案已經在那里

Jenkins插件如何獲取工作信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM