• 4.1.2

      "Ignore Committer Strategy" is no longer honored after plugin upgrade to 4.0.0.

      Instead, I get endless build loops in my multibranch pipelines.

       

      Maybe the following helps (from the log):

      a plugin upgrade is requesting migration of branch from class jenkins.plugins.git.GitBranchSCMHead to class com.atlassian.bitbucket.jenkins.internal.scm.BitbucketBranchSCMHead

      [...]

      Sep 25, 2023 3:27:59 PM SEVERE au.com.versent.jenkins.plugins.ignoreCommitterStrategy.IgnoreCommitterStrategy isAutomaticBuild

          [JENKINS-72071] "Ignore Committer Strategy" broken

          I was able to work around this issue by using the competing plugin "cloudbees-bitbucket-branch-source" instead.

          Erich Mauerböck added a comment - I was able to work around this issue by using the competing plugin "cloudbees-bitbucket-branch-source" instead.

          Thanks for the report Erich. I've replicated the bug.

          As of 4.0.0, we now have a new revision action, BitbucketSCMRevision instead of using the default one provided by the Git plugin. This is causing issues Ignore Commiter Strategy, that is expecting a GitSCM revision behind the scenes:

           

                      GitSCMFileSystem.Builder builder = new GitSCMFileSystem.BuilderImpl();
                      [...]
                      SCMFileSystem fileSystem;
                      if (currRevision != null && !(currRevision instanceof AbstractGitSCMSource.SCMRevisionImpl)) {
                          fileSystem = builder.build(source, head, new AbstractGitSCMSource.SCMRevisionImpl(head, currRevision.toString().substring(0,40)));
                      } else {
                          fileSystem = builder.build(owner, scm, currRevision);
                      }            if (fileSystem == null) {
                          LOGGER.log(Level.SEVERE, "Error retrieving SCMFileSystem");
                          return true;
                      }

          The branch source plugin is instead using GitSCMRevision#SCMRevisionImpl instead, which is why it interoperates with the Git file system builder required by the plugin.

           

          This is probably accurately marked as minor priority, but I wonder if this change will cause other interoperability with other Jenkins plugins.

           

           

          Martin Henschke added a comment - Thanks for the report Erich. I've replicated the bug. As of 4.0.0, we now have a new revision action, BitbucketSCMRevision instead of using the default one provided by the Git plugin. This is causing issues Ignore Commiter Strategy, that is expecting a GitSCM revision behind the scenes:   GitSCMFileSystem.Builder builder = new GitSCMFileSystem.BuilderImpl(); [...] SCMFileSystem fileSystem;             if (currRevision != null && !(currRevision instanceof AbstractGitSCMSource.SCMRevisionImpl)) {                 fileSystem = builder.build(source, head, new AbstractGitSCMSource.SCMRevisionImpl(head, currRevision.toString().substring(0,40)));             } else {                 fileSystem = builder.build(owner, scm, currRevision);             }            if (fileSystem == null ) {                 LOGGER.log(Level.SEVERE, "Error retrieving SCMFileSystem" );                 return true ;             } The branch source plugin is instead using GitSCMRevision#SCMRevisionImpl instead, which is why it interoperates with the Git file system builder required by the plugin.   This is probably accurately marked as minor priority, but I wonder if this change will cause other interoperability with other Jenkins plugins.    

          does that mean, every other plugin should now take into account that there may be a Bitbucket implementation in use?

          Shoudn't provide THIS plugin provide a git wrapper to not break such functionality?

          Erich Mauerböck added a comment - does that mean, every other plugin should now take into account that there may be a Bitbucket implementation in use? Shoudn't provide THIS plugin provide a git wrapper to not break such functionality?

          Martin Henschke added a comment - - edited

          Shoudn't provide THIS plugin provide a git wrapper to not break such functionality?

          Correct, the fix for this bug will be changing our revision to use the AbstractGitSCMSource implementation rather than a custom one.

          Martin Henschke added a comment - - edited Shoudn't provide THIS plugin provide a git wrapper to not break such functionality? Correct, the fix for this bug will be changing our revision to use the AbstractGitSCMSource implementation rather than a custom one.

          Erich Mauerböck added a comment - - edited

          any news? is a release to be expected? the changelog talks about versions 4.0.1 and 4.1.0, but no binary was released.

          Erich Mauerböck added a comment - - edited any news? is a release to be expected? the changelog talks about versions 4.0.1 and 4.1.0, but no binary was released.

          can be closed - 4.1.2 works now!

          Erich Mauerböck added a comment - can be closed - 4.1.2 works now!

          That's good news! We made a few changes to how revisions are handled as part of 4.1.2 and missed this issue. I'll mark the fix version, thanks for reporting it as fixed enrice !

          Martin Henschke added a comment - That's good news! We made a few changes to how revisions are handled as part of 4.1.2 and missed this issue. I'll mark the fix version, thanks for reporting it as fixed enrice !

            Unassigned Unassigned
            enrice Erich Mauerböck
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: