-
Bug
-
Resolution: Unresolved
-
Major
-
Git-Plugin: 4.2.2
I have a pipeline with one branch to be build, it's a parameterized pipeline:
Parameter BuildTag is not used by branch specifier.
refs/tags/${BuildTag}
hudson.plugins.git.GitException: Command "git fetch --tags --progress --prune -- origin +refs/tags/${BuildTag}:refs/remotes/origin/${BuildTag}" returned status code 128:
stdout:
stderr: fatal: Couldn't find remote ref refs/tags/${BuildTag}
fatal: the remote end hung up unexpectedly at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2430)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2044)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:81)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:569)
at jenkins.plugins.git.GitSCMFileSystem$BuilderImpl.build(GitSCMFileSystem.java:361)
at jenkins.scm.api.SCMFileSystem.of(SCMFileSystem.java:197)
at jenkins.scm.api.SCMFileSystem.of(SCMFileSystem.java:173)
at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:115)
at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:69)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:303)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:427)
Finished: FAILURE
It worked with Git Plugin 4.1.1 and when I restore the plugin to this version it starts to work again!
Regards Alex
- is blocked by
-
JENKINS-48431 Pipeline script from SCM should support build parameters using Lightweight checkout
-
- Closed
-
- is duplicated by
-
JENKINS-62020 Parameter is not interpreted in GIT Plugin - Branch Specifier
-
- Closed
-
-
JENKINS-62021 Parameter is not interpreted in GIT Plugin - Branch Specifier
-
- Closed
-
-
JENKINS-62022 Variable from parameterized pipeline build is not interpreted in GIT Plugin - Branch Specifier
-
- Closed
-
-
JENKINS-62023 Variable from paramterized pipeline build is not interpreted in GIT Plugin - Branch Specifier
-
- Closed
-
-
JENKINS-62017 Parameter is not interpreted in GIT Plugin Branch Specifier
-
- Closed
-
-
JENKINS-62018 Parameter is not interpreted in GIT Plugin Branch Specifier
-
- Closed
-
This happens because tags are now supported at https://github.com/jenkinsci/git-plugin/blob/git-4.2.1/src/main/java/jenkins/plugins/git/GitSCMFileSystem.java#L262-L264. But when the GitSCMFileSystem is used, the branch specified is not expanded. If you remove that support, it works again.
We can see that all those duplicates are about refs/tags and not refs/heads and the *lightweight checkout* (i.e. GitSCMFileSystem). If you try a parameterized refs/heads/ like for example refs/heads/$BRANCH you will notice that it does not work with either version 4.1.1 or 4.2.2.
People are impact because now lightweight checkout supports tags, lightweight checkout is enabled by default, but the current implementation of the lightweight checkout does not expand variables.
The workaround is to disable lightweight checkout if you use refs/tags.
The fix is to support variable expansion of the branch specifier in GitSCMFileSystem.