jenkins - 如何在 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?
解决方案
推荐阅读
- python - 从 LDA 打印主题
- r - do.call cbind - 需要哪些属性?
- python - python psycopg2 - ProgrammingError:函数交叉表(未知,未知)不存在
- javascript - 有没有一种简单的方法可以用命令行重构 javascript 代码?
- java - Recyclerview 未更新屏幕 onNotifydatasetchanged
- c# - 为同一接口的多个实现设置属性
- android - 尽管添加了项目(文本框等),但布局预览显示为空白。甚至项目名称也没有出现在屏幕上
- regex - 从文本文件中获取姓名和年龄
- java - 大小无法解析或不是字段
- go - 如何使用 VGO 导入和更新子包