我的管道构建克隆3个git存储库。当我通过这个片段查询构建时,我可以得到第一个git克隆的lastBuiltRevision,但不能获得其他任何一个。
Web UI显示所有三个,因此我知道它们存在于数据中
def getLastBuiltRevisionForBuild(def jobName, def buildNo) {
def instance = Hudson.instance
def job = instance.getItemByFullName(jobName)
def data = job.getBuild("${buildNo}").getAction(hudson.plugins.git.util.BuildData.class)
return data.getLastBuiltRevision()
}
如果我的管道中有多个签出,我怎样才能获得最后构建的修订版?
答案 0 :(得分:0)
不是getAction而是getActions来获取每个结帐的数据对象。然后我们可以使用getRemoteUrls()来识别使用哪个 - 显然这里的错误检查会很好
def dumpLastBuiltRevisionsForMultipleRepositories(def jobName, def buildNo) {
def instance = Hudson.instance
def job = instance.getItemByFullName(jobName)
def build = job.getBuild("${buildNo}")
for (def data in build.getActions(hudson.plugins.git.util.BuildData.class) ) {
println data.getRemoteUrls()[0]
println data.getLastBuiltRevision()
}
}