0
私はスナップショットartifactoryリポジトリから最新のビルド番号を与え、jenkinsからスクリプトを実行する小さなgroovyスクリプトを作成しようとしています。誰かが私は配列で、または複数のためにこれを行うことができる方法を私に伝えることができ、私は複数のジョブのためにそれを行うにしようとしていますが、私はそうすることはできませんよ、単一のジョブに成功しGroovyスクリプトを使用して複数のジョブのartifactoryから最新のビルド番号を取得します。jenkinsから実行
import groovy.json.*
import hudson.model.*
import jenkins.model.Jenkins
// get current thread/Executor
def applicationLatestBuild = getLatestBuild('application')
def getLatestBuild(jobName) {
def searchUrl = "http://xyz.nbc.com:9090/api/search/artifact?name=${jobName}&repos=libs-snapshot-local"
def conn = searchUrl.toURL().openConnection()
conn.setRequestProperty("X-Result-Detail", "info, properties")
def searchResultTxt = conn.content.text
//println "Found: ${searchResultTxt}"
def searchResults = new JsonSlurper().parseText(searchResultTxt)
def builds = searchResults.results.findAll{it.properties["build.number"] != null}.collect { Integer.parseInt(it.properties["build.number"][0]) }.sort().unique().reverse()
builds[0]
}
Result is :
Result: 168
を最新のビルド番号を取得することができ下は私が書こうとしている私のコードです
import groovy.json.*
import hudson.model.*
import jenkins.model.Jenkins
def PoidonServicesLatestBuild = getLatestBuild('PoidonServices')
def applicationLatestBuild = getLatestBuild(application)
def getLatestBuild(jobName) {
def searchUrl = "http://xyz.nbc.com:9090/api/search/artifact?name=${jobName}&repos=libs-snapshot-local"
def conn = searchUrl.toURL().openConnection()
conn.setRequestProperty("X-Result-Detail", "info, properties")
def searchResultTxt = conn.content.text
//println "Found: ${searchResultTxt}"
def searchResults = new JsonSlurper().parseText(searchResultTxt)
def builds = searchResults.results.findAll{it.properties["build.number"] != null}.collect { Integer.parseInt(it.properties["build.number"][0]) }.sort().unique().reverse()
builds[0]
}
def pa = new ParametersAction([
new StringParameterValue("PoidonServicesLatestBuild", "${PoidonServicesLatestBuild}"),
new StringParameterValue("applicationLatestBuild ", "${ applicationLatestBuild }"),
])
// add variable to current job
thr.executable.addAction(pa)