Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-45987

Cannot build merge requests from Gitlab on a multibranch pipeline job after Git plugin update to version 3.5.0

    XMLWordPrintable

Details

    Description

      Previous to the update of the git plugin everything was working fine (with Git plugin version 3.4.1).

      After updating to version 3.5.0 now I am not able to build neither merque-requests nor tags, I only see regular branches from the repository (GitLab by the way).

      I've been looking changes made in the code, more precisely changes made in

      src/main/java/jenkins/plugins/git/AbstractGitSCMSource.java

      There has been a major change in the way branches are discovered (that can be seen in the function "discoverBranches"):

      • 3.4.1 - In this version, "client.getRemoteBranches" is used, which I guess, corresponds to a "git branch -r". Then it parses the output to get the names of the branches.
      • 3.5.0 - In this version, "client.getRemoteReferences" is used, that corresponds to a "git ls-remote -h". Then, it parses the output to get the names of the branches.

      I've set "Specify ref specs" with the needed values to be able to fetch  the merge-requests and the tags ('+refs/merge-requests//head:refs/remotes/origin/merge-requests/' and '+refs/tags/:refs/remotes/origin/tags/').

      If I perform manually both operations ("git branch -r" and "git ls-remote -h") the output is not the same:

      $ git branch -r
      origin/HEAD -> origin/master

      origin/feature/generic-tag-attribute
      origin/merge-requests/1
      origin/merge-requests/2
      origin/merge-requests/3
      origin/tags/v1.5.0-alpha.0

      and

      $ git ls-remote -h 
      From http:/**********
      2c26dca25a748017ff52b22d81c549506abc12be refs/heads/feature/generic-tag-attribute
      1f43ef826799500cb585273eca3517c8a5eb026a refs/heads/master

      In the first example (mimics Git plugin 3.4.1) I get merge-requests and tags, in the second (mimics 3.5.0) I don't.

      Attachments

        Issue Links

          Activity

            joejulian Joe Julian added a comment -

            I, too, am having this problem with 3.5.0.

            joejulian Joe Julian added a comment - I, too, am having this problem with 3.5.0.
            aloehr Andreas Löhr added a comment - - edited

            ... exactly same issue here, but with 3.5.1

            aloehr Andreas Löhr added a comment - - edited ... exactly same issue here, but with 3.5.1
            aloehr Andreas Löhr added a comment -

            ... any plans/ideas to resolve this? I depend on it and have to think of a workaround otherwise

            aloehr Andreas Löhr added a comment - ... any plans/ideas to resolve this? I depend on it and have to think of a workaround otherwise
            amarruedo Asier Marruedo added a comment - - edited

            After 10 months sticking to the old git plugin implementation, I decided to try the last version of the plugin (i.e 3.9.1). I observed two things:

            Now, "Discover tags" works as expected (by the time I reported this issue it was semi-implemented, meaning that you could choose that option in the UI, but it wasn´t implemented), and, there is a new option called "Discover other refs".

            After several ours playing with that "Discover other refs" option and other options, I came to this working configuration (against Gitlab)

             

             

            Now I am again able to see on Jenkins, Gitlab tags and merge-requests.

             

            amarruedo Asier Marruedo added a comment - - edited After 10 months sticking to the old git plugin implementation, I decided to try the last version of the plugin (i.e 3.9.1). I observed two things: Now, "Discover tags" works as expected (by the time I reported this issue it was semi-implemented, meaning that you could choose that option in the UI, but it wasn´t implemented), and, there is a new option called "Discover other refs". After several ours playing with that "Discover other refs" option and other options, I came to this working configuration (against Gitlab)     Now I am again able to see on Jenkins, Gitlab tags and merge-requests.  

            As explained previously, version 3.9.1 works after you configure it to fetch merge-requests properly.

            amarruedo Asier Marruedo added a comment - As explained previously, version 3.9.1 works after you configure it to fetch merge-requests properly.
            lxbzmy Alex Lei added a comment -

            amarruedo

            I came across same problem,

            When I use new git multip branch plugin and add "discover other refs" as your picture shown.

            jenkins can found merge-requests ,but it cannot build correct.

            the workspace checkouted is empty.

            Have any ideas?

             

             

            lxbzmy Alex Lei added a comment - amarruedo I came across same problem, When I use new git multip branch plugin and add "discover other refs" as your picture shown. jenkins can found merge-requests ,but it cannot build correct. the workspace checkouted is empty. Have any ideas?    

            lxbzmy

            I face the same issue. Anyway, this issue is duplicated and you can follow the progress on this related issue JENKINS-46487 (issue that still remains open, which is frustrating).

            On our side, we are moving to Gitlab CI since Jenkins-GItlab integration does not work well.

            amarruedo Asier Marruedo added a comment - lxbzmy I face the same issue. Anyway, this issue is duplicated and you can follow the progress on this related issue JENKINS-46487 (issue that still remains open, which is frustrating). On our side, we are moving to Gitlab CI since Jenkins-GItlab integration does not work well.

            Finall note, If I remeber well, I think I managed to make it work with scripted pipelines (that's why I posted a "solution"), but then, I realized that it would'nt work with declarative pipelines (empty worskpace problem).

            amarruedo Asier Marruedo added a comment - Finall note, If I remeber well, I think I managed to make it work with scripted pipelines (that's why I posted a "solution"), but then, I realized that it would'nt work with declarative pipelines (empty worskpace problem).
            lxbzmy Alex Lei added a comment -

            amarruedo

            Oh.
            I fall in bug.
            Thanks your advise.

            May be I should fix it myself.

            lxbzmy Alex Lei added a comment - amarruedo Oh. I fall in bug. Thanks your advise. May be I should fix it myself.

            People

              amarruedo Asier Marruedo
              amarruedo Asier Marruedo
              Votes:
              3 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: