Jenkins Pipeline - Git Plugin 3.1.0 - rawRefSpecs无效

时间:2017-03-19 19:58:49

标签: jenkins jenkins-plugins jenkins-pipeline git-refspec

我正在使用Jenkins和Pipeline Plugin以及Git插件版本3.1.0。 根据此票证:https://issues.jenkins-ci.org/browse/JENKINS-40908,此功能是3.1.0版本的一部分。

但是我设置rawRefSpecs变量却没有成功。

这是我的管道配置:

f=fspecial('disk', 10);

这是我运行计划时的输出:

git url: 'ssh://foo/bar.git',
    rawRefSpecs: '+refs/changes/*:refs/changes/*',
    branch: 'bar',
    ...

我们可以看到fetch保留了refspecs的默认参数值。

看起来GitStep强制branchspec为“* /”+ branch并忽略除branch,credentialsId和url之外的任何其他参数。

https://github.com/jenkinsci/git-plugin/blob/f6ace83fe36740a1ab35612d3b4c5b400647f6ea/src/main/java/jenkins/plugins/git/GitStep.java

我怎样才能将refspec传递给命令?

1 个答案:

答案 0 :(得分:3)

Git插件支持多年指定您自己的refspec。您可以通过Snippet Generator在Checkout:General SCM>下找到正确的Pipeline语法。 Git>存储库>高级>的Refspec。这将为您提供所需的checkout语法。

git步骤本身当前不支持自定义refspecs,您引用的错误适用于GitSCMSource,如说明中所述,它用于Multibranch Pipelines。

如果您正在使用Multibranch Pipeline,您可以在分支来源>下找到您正在谈论的新refspec选项。 Git>高级> RefSpecs。