首页 > 解决方案 > 如何在 Jenkins 的 changeSet 中获取修订/提交 ID

问题描述

我正在尝试在 Jenkins 的 changeSet 中获取 commitID/revision。这是我的代码:

我得到的 commitId 为空,但是当构建完成时,我可以从“更改”页面下的摘要中获取修订。

def project = hudson.model.Hudson.instance.getItem(project_name)
def buildnum = some_number

build =  project.getBuildByNumber(buildnum)

def upstreamBuilds = build.getUpstreamBuilds()

upstreamBuilds.each() { key, value ->
  def prj = key;
  def num = value;
  build = prj.getBuildByNumber(num);
}

def changeSet = build.changeSet
if(changeSet != null) {
  def hadChanges = false
  changeSet.each() { cs ->
    hadChanges = true
    println(cs.author)
    println(cs.commitId)
    println(cs.msgAnnotated)
  }
}

如何从构建的 changeSet 中获取正确的 commitId?

标签: jenkins

解决方案


推荐阅读