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

              People

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

                Dates

                • Created:
                  Updated: