我注意到如果您将Jenkins与SVN或CVS选项一起使用,则会为包含作者的每个构建和该构建的提交消息创建changelog.xml。
不幸的是,在我的设置中,我没有使用SVN或CVS,所以我无法利用changelog解析器。我想知道是否可以使用相同的格式创建自己的更改日志(如SVN XML更改日志),然后在构建过程中将Jenkins指向它。这样,当有人点击构建的更改时,他们就能看到更改内容以及更改内容的人。
我尝试过创建一个changelog.xml,然后更新build.xml以使用SVN解析器,但是我注意到了两个问题:
1)您必须重新加载配置文件才能使其显示
2)在作业完成之前,似乎没有创建Build.xml
有关changelog解析器的一些信息,但似乎您无法在构建步骤中访问它:https://wiki.jenkins-ci.org/display/JENKINS/Change+log
答案 0 :(得分:0)
也许系统groovy脚本将是一个很好的方向(groovy脚本插件)。只需添加一个新脚本作为构建步骤。您可以通过运行以下代码来访问您的AbstractBuild对象:
import hudson.model.*
import hudson.util.*
import hudson.scm.*
def thr = Thread.currentThread()
def build = thr?.executable
我正在尝试解决目前类似的问题,但我的用例有所改变。我尝试以与 BlameSubversion 插件类似的方式从Upstream项目复制更改。不幸的是我不能使用上面提到的SCM插件,因为它不适用于post-commit-hook,所以我必须编写自己的解决方案。
看看copyChangeLogFromTriggerJob和copyRevisionFromTriggerJob方法,了解BlameSubversion是如何做到的。
我可以复制更改和修订,但我仍在使用ChangeLogParser。 我也很乐意提供任何帮助。