jenkins skip right last commit in gitlab merge request webhook
Issue
Context
- Gitlab plugin version: 1.5.13
- Gitlab version: 11.11.8
- Jenkins version: 2.176.1
- Job type: Pipeline
Problem description
I create a job with gitlab plugin in jenkins, and create webhook for multi gitlab repository's(we call A and B) merge request.
The Step:
- Create a merge request for A, it will auto trigger jenkins job and Finished as SUCCESS
- Create a merge request for B, it will auto trigger jenkins job and Finished as SUCCESS
- trigger jenkins job from A/hooks/{id}/edit webhook page of gitlab, the job fail.
After then, trigger jenkins job from webhook page of gitlab for repository B will always SUCCESS, But for repository A(even if i close the origin merge request and recreate it), it always FAILED.
From the Job console log. we can see github plugin can't get the right last commit and do a right fetch.
As below the commit id 07c1de9abcffb4e70588bc0d5ec6a5230dfaf89f is the last commit id of repository B,and the commit id 09f1de6b5b4964b4ed092525b29265e799d7e594 is the last commit id of repository A.
job console log for repository A
using GIT_ASKPASS to set credentials ****.com
> git fetch --tags --progress http://A.git +refs/heads/*:refs/remotes/origin/* +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*
skipping resolution of commit 09f1de6b5b4964b4ed092525b29265e799d7e594, since it originates from another repository
Seen branch in repository origin/fix_pep8
Seen branch in repository origin/master
Seen branch in repository origin/merge-requests/1
Seen branch in repository origin/merge-requests/2
Seen branch in repository origin/merge-requests/3
Seen branch in repository origin/merge-requests/4
Seen branch in repository origin/merge-requests/5
Seen branch in repository origin/merge-requests/6
Seen branch in repository origin/merge-requests/7
Seen branch in repository origin/merge-requests/8
Seen branch in repository origin/o-develop
Seen branch in repository origin/r-develop
Seen branch in repository origin/stable/o
Seen branch in repository origin/stable/r
Seen branch in repository origin/1.4-release
Seen branch in repository origin/1.4.0-release
Seen 16 remote branches
> git show-ref --tags -d # timeout=10
Checking out Revision 07c1de9abcffb4e70588bc0d5ec6a5230dfaf89f (origin/fix_pep8, origin/merge-requests/2, origin/o-develop)
> git config core.sparsecheckout # timeout=10
> git checkout -f 07c1de9abcffb4e70588bc0d5ec6a5230dfaf89f
FATAL: Could not checkout 07c1de9abcffb4e70588bc0d5ec6a5230dfaf89f
hudson.plugins.git.GitException: Command "git checkout -f 07c1de9abcffb4e70588bc0d5ec6a5230dfaf89f" returned status code 128:
stdout:
stderr: fatal: 引用不是一个树:07c1de9abcffb4e70588bc0d5ec6a5230dfaf89f
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2042)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$900(CliGitAPIImpl.java:72)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$9.execute(CliGitAPIImpl.java:2341)
Caused: hudson.plugins.git.GitException: Could not checkout 07c1de9abcffb4e70588bc0d5ec6a5230dfaf89f
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$9.execute(CliGitAPIImpl.java:2365)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1242)
at hudson.scm.SCM.checkout(SCM.java:504)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1208)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
at hudson.model.Run.execute(Run.java:1818)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE
This is our jenkins job settings

the same problem. is there anybody can help?
this log is created by gitlab webhook
git fetch --tags --progress ssh://xxxxxxxxxxxxxxxx +refs/heads/:refs/remotes/origin/ +refs/merge-requests//head:refs/remotes/origin/merge-requests/ # timeout=10 skipping resolution of commit ebfc033d34bd465a0558909af9620e5c88ccbf00, since it originates from another repository
when i build a pipeline manually by comment “ci”,Jenkins works normally
git fetch --tags --progress ssh://xxxxxxxxxxxxxxxx +refs/heads/:refs/remotes/origin/ +refs/merge-requests//head:refs/remotes/origin/merge-requests/ # timeout=10 git rev-parse ebfc033d34bd465a0558909af9620e5c88ccbf00^{commit} # timeout=10 git branch -a -v --no-abbrev --contains ebfc033d34bd465a0558909af9620e5c88ccbf00 # timeout=10 Merging Revision ebfc033d34bd465a0558909af9620e5c88ccbf00 (origin/xxxxxxxx, origin/merge-requests/57) to origin/master, UserMergeOptions{mergeRemote='origin', mergeTarget='master', mergeStrategy='DEFAULT', fastForwardMode='FF'} git rev-parse origin/master^{commit} # timeout=10 git config core.sparsecheckout # timeout=10