我有上游工作,轮询SVN的变化。 如果检测到更改,则启动构建。 构建之后,上游项目调用下游项目进行测试。我正在使用“Trigger Parameterized Build”。
我希望下游项目能够发送一封电子邮件,其中包含导致构建/测试的测试结果和SVN更改。但问题是如果我在下游使用$ {CHANGES}变量,它似乎是空的。
如何将$ {CHANGES}从上游项目传递到下游项目?
答案 0 :(得分:3)
您可以使用groovy脚本获取更改集或所需的值:
def jenkins = Jenkins.getInstance()
def job = jenkins.getItem(jobName)
def bld = job.getBuildByNumber(buildNumber)
def changeSet = bld.getChangeSet()
然后它依赖你使用的scm插件,例如你可以使用git-plugin:
获取每项更改的修订:
changeSet.each{
println it.getRevision()
}
获取每次更改的消息:
changeSet.each{
println it.getMsg()
}
受影响的路径:
changeSet.each{
println it.getAffectedPaths()
}
获取作者姓名:
changeSet.each{
println it.getAuthorName()
}
以及更多行动
答案 1 :(得分:0)
我看到All Changes Plugin更新了更改页面。不知道$ Changes是否也填充了该信息。
如果这不起作用,请查看Get access to Build Changelog in Jenkins