我有上传工作,轮询SVN的变化。 如果检测到更改,则开始构建。 构建完成后,上游项目调用下游项目进行测试。我正在使用“触发器参数化版本”。
我希望下游项目能够发送包含测试结果和SVN更改的电子邮件,以便构建/测试。但问题是,如果我在下游使用$ {CHANGES}变量,它似乎是空的。
如何将$ {CHANGES}从上游项目传递到下游项目?
我有上传工作,轮询SVN的变化。 如果检测到更改,则开始构建。 构建完成后,上游项目调用下游项目进行测试。我正在使用“触发器参数化版本”。
我希望下游项目能够发送包含测试结果和SVN更改的电子邮件,以便构建/测试。但问题是,如果我在下游使用$ {CHANGES}变量,它似乎是空的。
如何将$ {CHANGES}从上游项目传递到下游项目?
我看到一个All Changes Plugin它更新了更改页面。不知道$ Changes是否也填充了该信息。
你可以得到你需要使用Groovy脚本改变设置或值:
def jenkins = Jenkins.getInstance()
def job = jenkins.getItem(jobName)
def bld = job.getBuildByNumber(buildNumber)
def changeSet = bld.getChangeSet()
那么眷上SCM插件,您使用中,例如使用git-插件,您可以:
获取每个变化的修订:
changeSet.each{
println it.getRevision()
}
每个变化GET消息:
changeSet.each{
println it.getMsg()
}
得到受影响的路径:
changeSet.each{
println it.getAffectedPaths()
}
获取作者姓名:
changeSet.each{
println it.getAuthorName()
}
,还有更多的行动