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

When specifying the branch to poll as part of a parameterized build, git-plugin uses last polled branch instead

    Details

    • Type: Bug
    • Status: In Review (View Workflow)
    • Priority: Minor
    • Resolution: Unresolved
    • Component/s: git-plugin
    • Labels:
    • Environment:
      jenkins version: 2.89.3
      git plugin: 3.8.0
      git client plugin version: 2.7.1
    • Similar Issues:

      Description

      I have the following Jenkins Pipeline job:

      • Build Trigger: "Poll SCM"
      • Parametrized with String parameter "BRANCH", default value "master"
      • Definition is "Pipeline script from SCM" with Branch Specifier "$BRANCH", "Lightweight checkout" unchecked

      Expected behaviour:
      The job polls SCM. When changes are detected in the branch specified in the default value of the BRANCH parameter ("master" in this case), the job is triggered.

      Actual behaviour:
      The job polls SCM, but it ONLY triggers the job when changes are detected in the branch that was last built.

      This causes the following issue:
      After I manually trigger the job with branch "develop", subsequent changes in branch "master" are ignored.

      This issue also manifests itself when Build Trigger: "Build when a change is pushed to BitBucket" is used.

      This seems to be a regression of issue https://issues.jenkins-ci.org/browse/JENKINS-27327

        Attachments

          Issue Links

            Activity

            Hide
            markewaite Mark Waite added a comment -

            As far as I can tell, JENKINS-27327 describes an issue in Freestyle jobs and this is an issue for polling in Pipeline jobs. They are quite different. Not a regression.

            Show
            markewaite Mark Waite added a comment - As far as I can tell, JENKINS-27327 describes an issue in Freestyle jobs and this is an issue for polling in Pipeline jobs. They are quite different. Not a regression.
            Hide
            jeroen_s Jeroen Smolenaers added a comment -

            Mark Waite yes, you're quite right. very similar issue otherwise though.

            Show
            jeroen_s Jeroen Smolenaers added a comment - Mark Waite yes, you're quite right. very similar issue otherwise though.
            Hide
            jeroen_s Jeroen Smolenaers added a comment -

            Additional observation:

            Suppose the refspec is hardcoded "master" and the last built job checked out the same branch. If I change the refspec to "develop" and then commit on that branch, the job will not be triggered ("no changes").

            Presumably this is due to the fact that the branch checkout out by the last built job is checked for changes instead of the branch specified in refspec.

            Show
            jeroen_s Jeroen Smolenaers added a comment - Additional observation: Suppose the refspec is hardcoded "master" and the last built job checked out the same branch. If I change the refspec to "develop" and then commit on that branch, the job will not be triggered ("no changes"). Presumably this is due to the fact that the branch checkout out by the last built job is checked for changes instead of the branch specified in refspec.
            Hide
            jkwiz Joshua Williams added a comment -

            I've opened a pull request for this issue: https://github.com/jenkinsci/git-plugin/pull/615

            Show
            jkwiz Joshua Williams added a comment - I've opened a pull request for this issue:  https://github.com/jenkinsci/git-plugin/pull/615
            Hide
            froblesmartin Francisco Robles Martin added a comment -

            Any update on this? I am facing the same issue.

            Show
            froblesmartin Francisco Robles Martin added a comment - Any update on this? I am facing the same issue.
            Hide
            markewaite Mark Waite added a comment -

            Francisco Robles Martin have you tried the pull request that Joshua Williams referenced? One of the best ways to help the Jenkins project is to "test drive" pull requests that address issues you're seeing. Compile your own copy of the pull request merged with the master branch and run it in your environment. One other user has done that and reported their results on the pull request. Their results were initially positive, then followed by "not working in more complicated case". If it resolves the issue you're seeing, that's a "double win". If it does not resolve the issue you're seeing, then the project has learned more about the pull request.

            Another technique is to click the "Vote for this issue" in the top right corner of the bug report so that maintainers know which bugs are the most interesting to users.

            Show
            markewaite Mark Waite added a comment - Francisco Robles Martin have you tried the pull request that Joshua Williams referenced? One of the best ways to help the Jenkins project is to "test drive" pull requests that address issues you're seeing. Compile your own copy of the pull request merged with the master branch and run it in your environment. One other user has done that and reported their results on the pull request. Their results were initially positive, then followed by "not working in more complicated case". If it resolves the issue you're seeing, that's a "double win". If it does not resolve the issue you're seeing, then the project has learned more about the pull request. Another technique is to click the "Vote for this issue" in the top right corner of the bug report so that maintainers know which bugs are the most interesting to users.
            Hide
            froblesmartin Francisco Robles Martin added a comment -

            Mark Waite no I haven't tried it. It would be a bit complicated in the project I am working on...

            I have already voted for it, thanks for your reply!

            Show
            froblesmartin Francisco Robles Martin added a comment - Mark Waite no I haven't tried it. It would be a bit complicated in the project I am working on... I have already voted for it, thanks for your reply!

              People

              • Assignee:
                jkwiz Joshua Williams
                Reporter:
                jeroen_s Jeroen Smolenaers
              • Votes:
                1 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated: