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

git scm poll doesn't ignore changes with pipeline

    Details

    • Similar Issues:

      Description

      We are using the job as attached with the groovy test.groovy file. We poll the SCM for changes but want to ignore any change that is in our jenkins-jobs git repo. This is because in a full setup we poll more repositories which do change. In the jenkins pipeline we use .* as exclude region. This does work unless we clone the same repository in our test.groovy. There we say poll=false, but the repository is polled and at the moment we make a commit to jenkins-jobs.git the job is run. With these configuration we would expect this job to never run, even when we schedule it frequrently

        Attachments

        1. config.xml
          2 kB
        2. test.groovy
          0.2 kB

          Issue Links

            Activity

            Hide
            michaelw Michael Wong added a comment -

            It seems like polling is always done if changelog is set to true (by default it does get set to true). It should work if you set both to false.

            You also might need to restart your Jenkins server to get it to work (if the job was polling before, since the cached polling baseline never gets reset).

            Show
            michaelw Michael Wong added a comment - It seems like polling is always done if changelog is set to true (by default it does get set to true). It should work if you set both to false. You also might need to restart your Jenkins server to get it to work (if the job was polling before, since the cached polling baseline never gets reset).
            Hide
            sradi sradi added a comment -

            For me, the workaround with "DisableRemotePoll" and "PathRestriction" does not work.
            Did anyone successfully use this workaround?

            Is there anybody, who plans to fix this old issue anytime soon?

            Show
            sradi sradi added a comment - For me, the workaround with "DisableRemotePoll" and "PathRestriction" does not work. Did anyone successfully use this workaround? Is there anybody, who plans to fix this old issue anytime soon?
            Hide
            amoreira Alfredo Moreira added a comment -

            sradi use the option "changelog: false", i had used the Disable with no success, but adding the changelog option fixed everything. You might have to restart Jenkins for the polling to take effect correctly and not use the cache. 

            Here is my git checkout that i dont want to be polled, this repo is cloned into the CI-CD directory inside the project:

            checkout(
            poll:false,
            changelog:false,
            scm: [
            $class:'GitSCM',
            branches: [[name:'master']],
            clean:true,
            extensions: [[$class: 'DisableRemotePoll'],
            [$class: 'PathRestriction', excludedRegions: '*']],
            userRemoteConfigs: [[url: 'GithubURL]],
            credentialsId:'creds-ID,
            ])

            And the polling will look like this:

            Started on Jan 22, 2018 9:43:15 AM Using strategy: Default [poll] Last Built Revision: Revision a2a141227f71769af6e69a0b5d1dacfb6478effe (origin/develop) > git --version # timeout=10 > git ls-remote -h

            ""Github URL"

            1. timeout=10 Found 36 remote heads on

            "Github URL"

            [poll] Latest remote head revision on refs/heads/develop is: a2a141227f71769af6e69a0b5d1dacfb6478effe - already built by 272

            no polling baseline in /Users/mcoeadm/.jenkins/jobs/pe-dev- Davita Dev - Android/workspace/CI-CD on Done. Took 0.69 sec No changes .  --> "THIS IS THE LINE THAT MAKES THE DIFFERENCE"

             

            Hopefully this helps.

            Show
            amoreira Alfredo Moreira added a comment - sradi use the option "changelog: false", i had used the Disable with no success, but adding the changelog option fixed everything. You might have to restart Jenkins for the polling to take effect correctly and not use the cache.  Here is my git checkout that i dont want to be polled, this repo is cloned into the CI-CD directory inside the project: checkout( poll:false, changelog:false, scm: [ $class:'GitSCM', branches: [ [name:'master'] ], clean:true, extensions: [ [$class: 'DisableRemotePoll'] , [$class: 'PathRestriction', excludedRegions: '*'] ], userRemoteConfigs: [ [url: 'GithubURL] ], credentialsId:'creds-ID, ]) And the polling will look like this: Started on Jan 22, 2018 9:43:15 AM Using strategy: Default [poll] Last Built Revision: Revision a2a141227f71769af6e69a0b5d1dacfb6478effe (origin/develop) > git --version # timeout=10 > git ls-remote -h ""Github URL" timeout=10 Found 36 remote heads on "Github URL" [poll] Latest remote head revision on refs/heads/develop is: a2a141227f71769af6e69a0b5d1dacfb6478effe - already built by 272 no polling baseline in /Users/mcoeadm/.jenkins/jobs/pe-dev- Davita Dev - Android/workspace/CI-CD on Done. Took 0.69 sec No changes .  --> "THIS IS THE LINE THAT MAKES THE DIFFERENCE"   Hopefully this helps.
            Hide
            aaronling Aaron Ling added a comment -

            I hit this issue as well. Setting changelog to false and restarting Jenkins seems to bypass the issue.

            Show
            aaronling Aaron Ling added a comment - I hit this issue as well. Setting changelog to false and restarting Jenkins seems to bypass the issue.
            Hide
            nddeshmukh16 Nandlal Deshmukh added a comment - - edited

            @Edmund Haselwanter ,  Thanks a lot, you saved me ..

             Below workaround worked for me 

            extensions: [[$class: 'DisableRemotePoll']]
            
             def scmVars1 = checkout([def scmVars1 = checkout([ $class : 'GitSCM', branches:  [[name: '*/' + "${BRANCH_PARAM}"]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'DisableRemotePoll']], submoduleCfg : [], userRemoteConfigs: [[url: 'https://github.com/zbcdeshmukhxys/framework.git']] ])
            
            Show
            nddeshmukh16 Nandlal Deshmukh added a comment - - edited @ Edmund Haselwanter  ,  Thanks a lot, you saved me ..  Below workaround worked for me  extensions: [[$class: 'DisableRemotePoll' ]] def scmVars1 = checkout([def scmVars1 = checkout([ $class : 'GitSCM' , branches:  [[name: '*/' + "${BRANCH_PARAM}" ]], doGenerateSubmoduleConfigurations: false , extensions: [[$class: 'DisableRemotePoll' ]], submoduleCfg : [], userRemoteConfigs: [[url: 'https: //github.com/zbcdeshmukhxys/framework.git' ]] ])

              People

              • Assignee:
                Unassigned
                Reporter:
                jwillemsen Johnny Willemsen
              • Votes:
                16 Vote for this issue
                Watchers:
                24 Start watching this issue

                Dates

                • Created:
                  Updated: