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

            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.

            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

            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.
            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?    

            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.

            People

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

              Dates

                Created:
                Updated:
                Resolved: