Jenkins抛出java.lang.IllegalArgumentException:无效的refspec refs / heads / **错误

时间:2017-10-11 09:45:35

标签: jenkins jenkins-pipeline

我正在尝试在任何合并请求更改时激活管道。只要我的管道脚本在Jenkins UI中,这就可以工作。现在我在GitLab上外包了我的脚本,结账应该通过管道通过scm选项进行。

但我所有的构建(是的,触发)是:

  

java.lang.IllegalArgumentException:无效的refspec refs / heads / **

如果我将分支说明符留空,会发生这种情况,这是因为我想听取任何更改。如果我指定了分支,那么构建就会完成。

我的refspec:

+refs/heads/*:refs/remotes/origin/* +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*

1 个答案:

答案 0 :(得分:1)

这很可能是Jenkins的错误。 https://issues.jenkins-ci.org/browse/JENKINS-46588 无论如何,似乎有一个解决方案:

在项目配置中的“管道”->“ SCM”->“要构建的分支”->““分支说明符”中(“ any”为空白): 请勿对任何或*或。*或**使用空格。使用:

*/*

另一种解决方法是禁用轻量级结帐。

PS: 非常感谢ChrisAnnODell和Omurbek Kadyrbekov将解决方案放在第一位。 我仍然感到困惑的是,现在已经有两年多没有修复了...