2013-10-24 29 views
4

我有上传工作,轮询SVN的变化。 如果检测到更改,则开始构建。 构建完成后,上游项目调用下游项目进行测试。我正在使用“触发器参数化版本”。

我希望下游项目能够发送包含测试结果和SVN更改的电子邮件,以便构建/测试。但问题是,如果我在下游使用$ {CHANGES}变量,它似乎是空的。

如何将$ {CHANGES}从上游项目传递到下游项目?

回答

2

你可以得到你需要使用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() 
} 

,还有更多的行动

相关问题