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

Class not found in Blue Ocean Pipeline editor during Pipeline creation

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • None
    • Jenkins 2.375.1
      Git client plugin 4.0.0
      Git plugin 5.0.0
      Blue ocean plugins 1.26.0
    • 1.27.0

      The "End-to-End Multibranch Pipeline Project Creation" tutorial fails when trying to connect to the sample repository because a JGit class in JGit 6.4.0 (as provided by git client plugin 4.0.0) is in a different location than it was in JGit 5.13.1 (as provided by git client plugin 3.13.1).

      Actual result

      Pipeline creation stops when I click the "Create Pipeline" button on the page after entering the path to my local sample repository. The page prompts to create a credential, reports that the creation of the credential failed, then when the "Create Pipeline" button is pressed, it never returns.

      It looks like this in the tutorial:

      The stack trace recorded in the console log looks like this:

      2023-01-04 19:29:54.501+0000 [id=17]    WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://testing-a.markwaite.net:8080/blue/rest/organizations/jenkins/pipelines/
      java.lang.ClassNotFoundException: org.eclipse.jgit.transport.JschConfigSessionFactory
              at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
              at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
              at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
              at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
      Caused: java.lang.NoClassDefFoundError: org/eclipse/jgit/transport/JschConfigSessionFactory
              at java.base/java.lang.ClassLoader.defineClass1(Native Method)
              at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
      

      Expected result

      The tutorial should create a Pipeline in the repository and continue.

      Issue

      The JGit API changed from 5.13.1 to 6.0. Part of that API change included the move of the class from org.eclipse.jgit.transport.JschConfigSessionFactory to org.eclipse.jgit.transport.ssh.jsch.JschConfigSessionFactory

      There are 4 references to that JGit class in the jenkinsci organization. Blue ocean is the only reference that as a relevant installation count. Other references can be seen through a GitHub query and include:

      • Warrior plugin that was last released 5 years ago and is installed on 7 controllers
      • OpenShift deployer plugin that was last released 8 years ago, is deprecated, has 4 open vulnerabilities, and is installed on 254 controllers
      • Backend recipe submission repository that is archived and read-only

          [JENKINS-70379] Class not found in Blue Ocean Pipeline editor during Pipeline creation

          Mark Waite created issue -
          Mark Waite made changes -
          Description Original: The ["End-to-End Multibranch Pipeline Project Creation"|https://www.jenkins.io/doc/tutorials/build-a-multibranch-pipeline-project/#create-your-pipeline-project-in-blue-ocean] tutorial fails when trying to connect to the sample repository because a JGit class in JGit 6.4.0 (as provided by git client plugin 4.0.0) is in a different location than it was in JGit 5.13.1 (as provided by git client plugin 3.13.1).

          h2. Actual result

          Pipeline creation stops when I click the "Create Pipeline" button on the page after entering the path to my local sample repository. The page prompts to create a credential (that is not needed) and then reports that the creation of the credential failed.

          It looks like this in the tutorial:

          The stack trace recorded in the console log looks like this:

          {noformat}
          2023-01-04 19:29:54.501+0000 [id=17] WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://testing-a.markwaite.net:8080/blue/rest/organizations/jenkins/pipelines/
          java.lang.ClassNotFoundException: org.eclipse.jgit.transport.JschConfigSessionFactory
                  at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
                  at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
          Caused: java.lang.NoClassDefFoundError: org/eclipse/jgit/transport/JschConfigSessionFactory
                  at java.base/java.lang.ClassLoader.defineClass1(Native Method)
                  at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
          {noformat}

          h2. Expected result

          The tutorial should create a Pipeline in the repository and continue.

          h2. Issue

          The JGit API changed from 5.13.1 to 6.0. Part of that API change included the move of the class from {{org.eclipse.jgit.transport.JschConfigSessionFactory}} to {{org.eclipse.jgit.transport.ssh.jsch.JschConfigSessionFactory}}

          There are 4 references to that JGit class in the jenkinsci organization. Blue ocean is the only reference that as a relevant installation count. Other references can be seen through a GitHub query and include
          New: The ["End-to-End Multibranch Pipeline Project Creation"|https://www.jenkins.io/doc/tutorials/build-a-multibranch-pipeline-project/#create-your-pipeline-project-in-blue-ocean] tutorial fails when trying to connect to the sample repository because a JGit class in JGit 6.4.0 (as provided by git client plugin 4.0.0) is in a different location than it was in JGit 5.13.1 (as provided by git client plugin 3.13.1).

          h2. Actual result

          Pipeline creation stops when I click the "Create Pipeline" button on the page after entering the path to my local sample repository. The page prompts to create a credential (that is not needed) and then reports that the creation of the credential failed.

          It looks like this in the tutorial:

           !tutorial-fails.png|thumbnail!

          The stack trace recorded in the console log looks like this:

          {noformat}
          2023-01-04 19:29:54.501+0000 [id=17] WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://testing-a.markwaite.net:8080/blue/rest/organizations/jenkins/pipelines/
          java.lang.ClassNotFoundException: org.eclipse.jgit.transport.JschConfigSessionFactory
                  at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
                  at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
          Caused: java.lang.NoClassDefFoundError: org/eclipse/jgit/transport/JschConfigSessionFactory
                  at java.base/java.lang.ClassLoader.defineClass1(Native Method)
                  at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
          {noformat}

          h2. Expected result

          The tutorial should create a Pipeline in the repository and continue.

          h2. Issue

          The JGit API changed from 5.13.1 to 6.0. Part of that API change included the move of the class from {{org.eclipse.jgit.transport.JschConfigSessionFactory}} to {{org.eclipse.jgit.transport.ssh.jsch.JschConfigSessionFactory}}

          There are 4 references to that JGit class in the jenkinsci organization. Blue ocean is the only reference that as a relevant installation count. Other references can be seen through a GitHub query and include
          Mark Waite made changes -
          Description Original: The ["End-to-End Multibranch Pipeline Project Creation"|https://www.jenkins.io/doc/tutorials/build-a-multibranch-pipeline-project/#create-your-pipeline-project-in-blue-ocean] tutorial fails when trying to connect to the sample repository because a JGit class in JGit 6.4.0 (as provided by git client plugin 4.0.0) is in a different location than it was in JGit 5.13.1 (as provided by git client plugin 3.13.1).

          h2. Actual result

          Pipeline creation stops when I click the "Create Pipeline" button on the page after entering the path to my local sample repository. The page prompts to create a credential (that is not needed) and then reports that the creation of the credential failed.

          It looks like this in the tutorial:

           !tutorial-fails.png|thumbnail!

          The stack trace recorded in the console log looks like this:

          {noformat}
          2023-01-04 19:29:54.501+0000 [id=17] WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://testing-a.markwaite.net:8080/blue/rest/organizations/jenkins/pipelines/
          java.lang.ClassNotFoundException: org.eclipse.jgit.transport.JschConfigSessionFactory
                  at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
                  at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
          Caused: java.lang.NoClassDefFoundError: org/eclipse/jgit/transport/JschConfigSessionFactory
                  at java.base/java.lang.ClassLoader.defineClass1(Native Method)
                  at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
          {noformat}

          h2. Expected result

          The tutorial should create a Pipeline in the repository and continue.

          h2. Issue

          The JGit API changed from 5.13.1 to 6.0. Part of that API change included the move of the class from {{org.eclipse.jgit.transport.JschConfigSessionFactory}} to {{org.eclipse.jgit.transport.ssh.jsch.JschConfigSessionFactory}}

          There are 4 references to that JGit class in the jenkinsci organization. Blue ocean is the only reference that as a relevant installation count. Other references can be seen through a GitHub query and include
          New: The ["End-to-End Multibranch Pipeline Project Creation"|https://www.jenkins.io/doc/tutorials/build-a-multibranch-pipeline-project/#create-your-pipeline-project-in-blue-ocean] tutorial fails when trying to connect to the sample repository because a JGit class in JGit 6.4.0 (as provided by git client plugin 4.0.0) is in a different location than it was in JGit 5.13.1 (as provided by git client plugin 3.13.1).

          h2. Actual result

          Pipeline creation stops when I click the "Create Pipeline" button on the page after entering the path to my local sample repository. The page prompts to create a credential (that is not needed) and then reports that the creation of the credential failed.

          It looks like this in the tutorial:

           !tutorial-fails.png|!

          The stack trace recorded in the console log looks like this:

          {noformat}
          2023-01-04 19:29:54.501+0000 [id=17] WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://testing-a.markwaite.net:8080/blue/rest/organizations/jenkins/pipelines/
          java.lang.ClassNotFoundException: org.eclipse.jgit.transport.JschConfigSessionFactory
                  at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
                  at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
          Caused: java.lang.NoClassDefFoundError: org/eclipse/jgit/transport/JschConfigSessionFactory
                  at java.base/java.lang.ClassLoader.defineClass1(Native Method)
                  at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
          {noformat}

          h2. Expected result

          The tutorial should create a Pipeline in the repository and continue.

          h2. Issue

          The JGit API changed from 5.13.1 to 6.0. Part of that API change included the move of the class from {{org.eclipse.jgit.transport.JschConfigSessionFactory}} to {{org.eclipse.jgit.transport.ssh.jsch.JschConfigSessionFactory}}

          There are 4 references to that JGit class in the jenkinsci organization. Blue ocean is the only reference that as a relevant installation count. Other references can be seen through a GitHub query and include
          Mark Waite made changes -
          Description Original: The ["End-to-End Multibranch Pipeline Project Creation"|https://www.jenkins.io/doc/tutorials/build-a-multibranch-pipeline-project/#create-your-pipeline-project-in-blue-ocean] tutorial fails when trying to connect to the sample repository because a JGit class in JGit 6.4.0 (as provided by git client plugin 4.0.0) is in a different location than it was in JGit 5.13.1 (as provided by git client plugin 3.13.1).

          h2. Actual result

          Pipeline creation stops when I click the "Create Pipeline" button on the page after entering the path to my local sample repository. The page prompts to create a credential (that is not needed) and then reports that the creation of the credential failed.

          It looks like this in the tutorial:

           !tutorial-fails.png|!

          The stack trace recorded in the console log looks like this:

          {noformat}
          2023-01-04 19:29:54.501+0000 [id=17] WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://testing-a.markwaite.net:8080/blue/rest/organizations/jenkins/pipelines/
          java.lang.ClassNotFoundException: org.eclipse.jgit.transport.JschConfigSessionFactory
                  at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
                  at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
          Caused: java.lang.NoClassDefFoundError: org/eclipse/jgit/transport/JschConfigSessionFactory
                  at java.base/java.lang.ClassLoader.defineClass1(Native Method)
                  at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
          {noformat}

          h2. Expected result

          The tutorial should create a Pipeline in the repository and continue.

          h2. Issue

          The JGit API changed from 5.13.1 to 6.0. Part of that API change included the move of the class from {{org.eclipse.jgit.transport.JschConfigSessionFactory}} to {{org.eclipse.jgit.transport.ssh.jsch.JschConfigSessionFactory}}

          There are 4 references to that JGit class in the jenkinsci organization. Blue ocean is the only reference that as a relevant installation count. Other references can be seen through a GitHub query and include
          New: The ["End-to-End Multibranch Pipeline Project Creation"|https://www.jenkins.io/doc/tutorials/build-a-multibranch-pipeline-project/#create-your-pipeline-project-in-blue-ocean] tutorial fails when trying to connect to the sample repository because a JGit class in JGit 6.4.0 (as provided by git client plugin 4.0.0) is in a different location than it was in JGit 5.13.1 (as provided by git client plugin 3.13.1).

          h2. Actual result

          Pipeline creation stops when I click the "Create Pipeline" button on the page after entering the path to my local sample repository. The page prompts to create a credential (that is not needed) and then reports that the creation of the credential failed.

          It looks like this in the tutorial:

           !tutorial-fails.png|!

          The stack trace recorded in the console log looks like this:

          {noformat}
          2023-01-04 19:29:54.501+0000 [id=17] WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://testing-a.markwaite.net:8080/blue/rest/organizations/jenkins/pipelines/
          java.lang.ClassNotFoundException: org.eclipse.jgit.transport.JschConfigSessionFactory
                  at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
                  at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
          Caused: java.lang.NoClassDefFoundError: org/eclipse/jgit/transport/JschConfigSessionFactory
                  at java.base/java.lang.ClassLoader.defineClass1(Native Method)
                  at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
          {noformat}

          h2. Expected result

          The tutorial should create a Pipeline in the repository and continue.

          h2. Issue

          The JGit API changed from 5.13.1 to 6.0. Part of that API change included the move of the class from {{org.eclipse.jgit.transport.JschConfigSessionFactory}} to {{org.eclipse.jgit.transport.ssh.jsch.JschConfigSessionFactory}}

          There are 4 references to that JGit class in the jenkinsci organization. Blue ocean is the only reference that as a relevant installation count. Other references can be seen through a [GitHub queryhttps://github.com/search?q=org%3Ajenkinsci+JschConfigSessionFactory&type=code] and include:
          * Warrior plugin that was last released 5 years ago and is installed on 7 controllers
          * OpenShift deployer plugin that was last released 8 years ago, is deprecated, has 4 open vulnerabilities, and is installed on 254 controllers
          * Backend recipe submission repository that is archived and read-only
          Mark Waite made changes -
          Description Original: The ["End-to-End Multibranch Pipeline Project Creation"|https://www.jenkins.io/doc/tutorials/build-a-multibranch-pipeline-project/#create-your-pipeline-project-in-blue-ocean] tutorial fails when trying to connect to the sample repository because a JGit class in JGit 6.4.0 (as provided by git client plugin 4.0.0) is in a different location than it was in JGit 5.13.1 (as provided by git client plugin 3.13.1).

          h2. Actual result

          Pipeline creation stops when I click the "Create Pipeline" button on the page after entering the path to my local sample repository. The page prompts to create a credential (that is not needed) and then reports that the creation of the credential failed.

          It looks like this in the tutorial:

           !tutorial-fails.png|!

          The stack trace recorded in the console log looks like this:

          {noformat}
          2023-01-04 19:29:54.501+0000 [id=17] WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://testing-a.markwaite.net:8080/blue/rest/organizations/jenkins/pipelines/
          java.lang.ClassNotFoundException: org.eclipse.jgit.transport.JschConfigSessionFactory
                  at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
                  at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
          Caused: java.lang.NoClassDefFoundError: org/eclipse/jgit/transport/JschConfigSessionFactory
                  at java.base/java.lang.ClassLoader.defineClass1(Native Method)
                  at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
          {noformat}

          h2. Expected result

          The tutorial should create a Pipeline in the repository and continue.

          h2. Issue

          The JGit API changed from 5.13.1 to 6.0. Part of that API change included the move of the class from {{org.eclipse.jgit.transport.JschConfigSessionFactory}} to {{org.eclipse.jgit.transport.ssh.jsch.JschConfigSessionFactory}}

          There are 4 references to that JGit class in the jenkinsci organization. Blue ocean is the only reference that as a relevant installation count. Other references can be seen through a [GitHub queryhttps://github.com/search?q=org%3Ajenkinsci+JschConfigSessionFactory&type=code] and include:
          * Warrior plugin that was last released 5 years ago and is installed on 7 controllers
          * OpenShift deployer plugin that was last released 8 years ago, is deprecated, has 4 open vulnerabilities, and is installed on 254 controllers
          * Backend recipe submission repository that is archived and read-only
          New: The ["End-to-End Multibranch Pipeline Project Creation"|https://www.jenkins.io/doc/tutorials/build-a-multibranch-pipeline-project/#create-your-pipeline-project-in-blue-ocean] tutorial fails when trying to connect to the sample repository because a JGit class in JGit 6.4.0 (as provided by git client plugin 4.0.0) is in a different location than it was in JGit 5.13.1 (as provided by git client plugin 3.13.1).

          h2. Actual result

          Pipeline creation stops when I click the "Create Pipeline" button on the page after entering the path to my local sample repository. The page prompts to create a credential (that is not needed) and then reports that the creation of the credential failed.

          It looks like this in the tutorial:

           !tutorial-fails.png|!

          The stack trace recorded in the console log looks like this:

          {noformat}
          2023-01-04 19:29:54.501+0000 [id=17] WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://testing-a.markwaite.net:8080/blue/rest/organizations/jenkins/pipelines/
          java.lang.ClassNotFoundException: org.eclipse.jgit.transport.JschConfigSessionFactory
                  at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
                  at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
                  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
          Caused: java.lang.NoClassDefFoundError: org/eclipse/jgit/transport/JschConfigSessionFactory
                  at java.base/java.lang.ClassLoader.defineClass1(Native Method)
                  at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
          {noformat}

          h2. Expected result

          The tutorial should create a Pipeline in the repository and continue.

          h2. Issue

          The JGit API changed from 5.13.1 to 6.0. Part of that API change included the move of the class from {{org.eclipse.jgit.transport.JschConfigSessionFactory}} to {{org.eclipse.jgit.transport.ssh.jsch.JschConfigSessionFactory}}

          There are 4 references to that JGit class in the jenkinsci organization. Blue ocean is the only reference that as a relevant installation count. Other references can be seen through a [GitHub query|https://github.com/search?q=org%3Ajenkinsci+JschConfigSessionFactory&type=code] and include:
          * Warrior plugin that was last released 5 years ago and is installed on 7 controllers
          * OpenShift deployer plugin that was last released 8 years ago, is deprecated, has 4 open vulnerabilities, and is installed on 254 controllers
          * Backend recipe submission repository that is archived and read-only
          Mark Waite made changes -
          Assignee Original: Mark Waite [ markewaite ]
          Mark Waite made changes -
          Summary Original: Class not found in Blue Ocean Pipeline editor for git during creation New: Class not found in Blue Ocean Pipeline editor for git during Pipeline creation
          Mark Waite made changes -
          Summary Original: Class not found in Blue Ocean Pipeline editor for git during Pipeline creation New: Class not found in Blue Ocean Pipeline editor during Pipeline creation
          Jesse Glick made changes -
          Remote Link New: This issue links to "blueocean-plugin #2379 (Web Link)" [ 28428 ]
          Jesse Glick made changes -
          Assignee New: Carroll Chiou [ carroll ]
          Jesse Glick made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]

            carroll Carroll Chiou
            markewaite Mark Waite
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: