I am getting an NPE on exit that is causing my build to fail. I am hoping it is misconfiguration, so the resolution will be simple. I am running the build via "Build Now".

      F:\Jenkins\jobs\Omniwar\workspace>exit 0 
      FATAL: null
      java.lang.NullPointerException
      	at org.jenkinsci.plugins.p4.client.ConnectionHelper.getSwarm(ConnectionHelper.java:544)
      	at org.jenkinsci.plugins.p4.PerforceScm.guessBrowser(PerforceScm.java:225)
      	at hudson.scm.SCM.getEffectiveBrowser(SCM.java:146)
      	at hudson.scm.ChangeLogParser.parse(ChangeLogParser.java:57)
      	at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:911)
      	at hudson.model.AbstractBuild.getChangeSet(AbstractBuild.java:879)
      	at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:349)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:669)
      	at hudson.model.Run.execute(Run.java:1753)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      	at hudson.model.ResourceController.execute(ResourceController.java:98)
      	at hudson.model.Executor.run(Executor.java:404)
      Finished: FAILURE
      

      It looks like it is looking for a browser and decides that that browser should be Swarm. I do not have any repo browser installed (i.e. I'm not using Swarm, P4Web, etc.) and the "Repository browser" setting is set to Auto.

       

      Full configuration can be found below.

       

       

          [JENKINS-43069] NPE on exit - getEffectiveBrowser/getSwarm

          Paul Allen added a comment - - edited

          The 'Repository Browser' setting is set to '(Auto)' by default.  The plugin looks at the server's settings and looks for a Property `P4.Swarm.URL` if this is set then it assumes Swarm is installed.  Perhaps check to see if the property is set:

          p4 property -l

          As a workaround try choosing a browser and leaving the fields empty.

          Paul Allen added a comment - - edited The 'Repository Browser' setting is set to '(Auto)' by default.  The plugin looks at the server's settings and looks for a Property `P4.Swarm.URL` if this is set then it assumes Swarm is installed.  Perhaps check to see if the property is set: p4 property -l As a workaround try choosing a browser and leaving the fields empty.

          Paul Allen added a comment -

          Looking at the code it seems the connection object is null, perhaps your Perforce Credentials are invalid or the server is offline?

          Paul Allen added a comment - Looking at the code it seems the connection object is null, perhaps your Perforce Credentials are invalid or the server is offline?

          Ethan Thornburg added a comment - - edited

          The server is not offline, the pull works fine and my build runs to completion and then errors out at the very end.

          p4 property -l -n P4.Swarm.URL
          

          returns P4.Swarm.URL - no such property

           

          Choosing any browser besides Auto gives me a stack trace when I click save.

          java.net.MalformedURLException: no protocol: 
          	at java.net.URL.<init>(Unknown Source)
          	at java.net.URL.<init>(Unknown Source)
          	at java.net.URL.<init>(Unknown Source)
          	at org.kohsuke.stapler.Stapler$4.convert(Stapler.java:1083)
          Caused: org.apache.commons.beanutils.ConversionException: no protocol: 
          	at org.kohsuke.stapler.Stapler$4.convert(Stapler.java:1085)
          	at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:739)
          	at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478)
          	at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:777)
          	at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:83)
          	at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:678)
          	at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478)
          	at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:777)
          	at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:83)
          	at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:678)
          	at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478)
          	at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:474)
          	at hudson.model.Descriptor.newInstance(Descriptor.java:591)
          Caused: java.lang.Error: Failed to instantiate class org.jenkinsci.plugins.p4.PerforceScm from {"value":"4","stapler-class":"org.jenkinsci.plugins.p4.PerforceScm","$class":"org.jenkinsci.plugins.p4.PerforceScm","credential":"b2fbcadd-6321-4721-a658-902865f2a3fe","":["0","1","3"],"workspace":{"charset":"none","name":"jenkins-${NODE_NAME}-${JOB_NAME}","pinHost":false,"spec":{"allwrite":false,"clobber":true,"compress":false,"locked":false,"modtime":false,"rmdir":false,"streamName":"","line":"LOCAL","view":"//depot/... //jenkins-${NODE_NAME}-${JOB_NAME}/..."},"stapler-class<span class="code-quote">":"org.jenkinsci.plugins.p4.workspace.ManualWorkspaceImpl","$class<span class="code-quote">":"org.jenkinsci.plugins.p4.workspace.ManualWorkspaceImpl"},"populate":{"have":false,"quiet":true,"pin":"","parallel":{"enable":false,"path":"/usr/local/bin/p4","threads":"4","minfiles":"1","minbytes":"1024"},"stapler-class<span class="code-quote">":"org.jenkinsci.plugins.p4.populate.ForceCleanImpl","$class<span class="code-quote">":"org.jenkinsci.plugins.p4.populate.ForceCleanImpl"},"browser":{"url":"","stapler-class<span class="code-quote">":"org.jenkinsci.plugins.p4.browsers.SwarmBrowser","$class<span class="code-quote">":"org.jenkinsci.plugins.p4.browsers.SwarmBrowser"}}
          	at hudson.model.Descriptor.newInstance(Descriptor.java:599)
          	at org.jenkinsci.plugins.p4.PerforceScm$DescriptorImpl.newInstance(PerforceScm.java:776)
          	at org.jenkinsci.plugins.p4.PerforceScm$DescriptorImpl.newInstance(PerforceScm.java:700)
          	at hudson.DescriptorExtensionList.newInstanceFromRadioList(DescriptorExtensionList.java:141)
          	at hudson.scm.SCMS.parseSCM(SCMS.java:59)
          	at hudson.model.AbstractProject.submit(AbstractProject.java:1881)
          	at hudson.model.Project.submit(Project.java:230)
          	at hudson.model.Job.doConfigSubmit(Job.java:1245)
          	at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:797)
          	at java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
          	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)
          	at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:52)
          	at org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:26)
          	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184)
          	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117)
          	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
          Caused: javax.servlet.ServletException
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:765)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
          	at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:248)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
          	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
          	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
          	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
          	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
          	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
          	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
          	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
          	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
          	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
          	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
          	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
          	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
          	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
          	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
          	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
          	at org.eclipse.jetty.server.Server.handle(Server.java:499)
          	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
          	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
          	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
          	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
          	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
          	at java.lang.Thread.run(Unknown Source)
          

          Ethan Thornburg added a comment - - edited The server is not offline, the pull works fine and my build runs to completion and then errors out at the very end. p4 property -l -n P4.Swarm.URL returns P4.Swarm.URL - no such property   Choosing any browser besides Auto gives me a stack trace when I click save. java.net.MalformedURLException: no protocol: at java.net.URL.<init>(Unknown Source) at java.net.URL.<init>(Unknown Source) at java.net.URL.<init>(Unknown Source) at org.kohsuke.stapler.Stapler$4.convert(Stapler.java:1083) Caused: org.apache.commons.beanutils.ConversionException: no protocol: at org.kohsuke.stapler.Stapler$4.convert(Stapler.java:1085) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:739) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478) at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:777) at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:83) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:678) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478) at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:777) at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:83) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:678) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:474) at hudson.model.Descriptor.newInstance(Descriptor.java:591) Caused: java.lang.Error: Failed to instantiate class org.jenkinsci.plugins.p4.PerforceScm from { "value" : "4" , "stapler-class" : "org.jenkinsci.plugins.p4.PerforceScm" , "$class" : "org.jenkinsci.plugins.p4.PerforceScm" , "credential" : "b2fbcadd-6321-4721-a658-902865f2a3fe" , "":[" 0 "," 1 "," 3 "]," workspace ":{" charset ":" none "," name ":" jenkins-${NODE_NAME}-${JOB_NAME} "," pinHost ": false ," spec ":{" allwrite ": false ," clobber ": true ," compress ": false ," locked ": false ," modtime ": false ," rmdir ": false ," streamName ":" "," line ":" LOCAL "," view ":" //depot/... //jenkins-${NODE_NAME}-${JOB_NAME}/... "}," stapler- class span class="code-quote">":" org.jenkinsci.plugins.p4.workspace.ManualWorkspaceImpl "," $ class span class="code-quote">":" org.jenkinsci.plugins.p4.workspace.ManualWorkspaceImpl "}," populate ":{" have ": false ," quiet ": true ," pin ":" "," parallel ":{" enable ": false ," path ":" /usr/local/bin/p4 "," threads ":" 4 "," minfiles ":" 1 "," minbytes ":" 1024 "}," stapler- class span class="code-quote">":" org.jenkinsci.plugins.p4.populate.ForceCleanImpl "," $ class span class="code-quote">":" org.jenkinsci.plugins.p4.populate.ForceCleanImpl "}," browser ":{" url ":" "," stapler- class span class="code-quote">":" org.jenkinsci.plugins.p4.browsers.SwarmBrowser "," $ class span class="code-quote">":" org.jenkinsci.plugins.p4.browsers.SwarmBrowser"}} at hudson.model.Descriptor.newInstance(Descriptor.java:599) at org.jenkinsci.plugins.p4.PerforceScm$DescriptorImpl.newInstance(PerforceScm.java:776) at org.jenkinsci.plugins.p4.PerforceScm$DescriptorImpl.newInstance(PerforceScm.java:700) at hudson.DescriptorExtensionList.newInstanceFromRadioList(DescriptorExtensionList.java:141) at hudson.scm.SCMS.parseSCM(SCMS.java:59) at hudson.model.AbstractProject.submit(AbstractProject.java:1881) at hudson.model.Project.submit(Project.java:230) at hudson.model.Job.doConfigSubmit(Job.java:1245) at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:797) at java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source) at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343) at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:52) at org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:26) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) Caused: javax.servlet.ServletException at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:765) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:248) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) at org.kohsuke.stapler.Stapler.service(Stapler.java:238) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang. Thread .run(Unknown Source)

          Paul Allen added a comment -

          Update Browser's Jelly code to use String and not URI: https://swarm.workshop.perforce.com/changes/21990

          Change is now branched to Main and GitHub and will go out in the next release (end of this week).

          Paul Allen added a comment - Update Browser's Jelly code to use String and not URI: https://swarm.workshop.perforce.com/changes/21990 Change is now branched to Main and GitHub and will go out in the next release (end of this week).

          Paul Allen added a comment -

          Ready for release.

          Paul Allen added a comment - Ready for release.

          Paul Allen added a comment -

          Released in 1.7.0

          Paul Allen added a comment - Released in 1.7.0

          Ethan Thornburg added a comment - - edited

          This still errors out with NPE in the latest version (1.7.0). It is intermittent (but it always has been).

          And I still can't set the browser to anything except "auto" without it causing the same error on save previously mentioned above.

          Relevant trace from latest run

          F:\Jenkins\jobs\Omniwar\workspace>exit 0 
          FATAL: null
          java.lang.NullPointerException
          	at org.jenkinsci.plugins.p4.client.ConnectionHelper.getSwarm(ConnectionHelper.java:583)
          	at org.jenkinsci.plugins.p4.PerforceScm.guessBrowser(PerforceScm.java:248)
          	at hudson.scm.SCM.getEffectiveBrowser(SCM.java:147)
          	at hudson.scm.ChangeLogParser.parse(ChangeLogParser.java:57)
          	at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:910)
          	at hudson.model.AbstractBuild.getChangeSet(AbstractBuild.java:878)
          	at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:349)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:669)
          	at hudson.model.Run.execute(Run.java:1753)
          	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
          	at hudson.model.ResourceController.execute(ResourceController.java:98)
          	at hudson.model.Executor.run(Executor.java:405)
          Finished: FAILURE
          

          Ethan Thornburg added a comment - - edited This still errors out with NPE in the latest version (1.7.0). It is intermittent (but it always has been). And I still can't set the browser to anything except "auto" without it causing the same error on save previously mentioned above. Relevant trace from latest run F:\Jenkins\jobs\Omniwar\workspace>exit 0 FATAL: null java.lang.NullPointerException at org.jenkinsci.plugins.p4.client.ConnectionHelper.getSwarm(ConnectionHelper.java:583) at org.jenkinsci.plugins.p4.PerforceScm.guessBrowser(PerforceScm.java:248) at hudson.scm.SCM.getEffectiveBrowser(SCM.java:147) at hudson.scm.ChangeLogParser.parse(ChangeLogParser.java:57) at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:910) at hudson.model.AbstractBuild.getChangeSet(AbstractBuild.java:878) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:349) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:669) at hudson.model.Run.execute(Run.java:1753) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:405) Finished: FAILURE

          Code changed in jenkins
          User: Paul Allen
          Path:
          src/main/java/org/jenkinsci/plugins/p4/PerforceScm.java
          src/main/java/org/jenkinsci/plugins/p4/browsers/FishEyeBrowser.java
          src/main/java/org/jenkinsci/plugins/p4/browsers/OpenGrokBrowser.java
          src/main/java/org/jenkinsci/plugins/p4/browsers/P4Browser.java
          src/main/java/org/jenkinsci/plugins/p4/browsers/P4WebBrowser.java
          src/main/java/org/jenkinsci/plugins/p4/browsers/SwarmBrowser.java
          src/main/resources/org/jenkinsci/plugins/p4/browsers/FishEyeBrowser/config.jelly
          src/main/resources/org/jenkinsci/plugins/p4/browsers/OpenGrokBrowser/config.jelly
          src/main/resources/org/jenkinsci/plugins/p4/browsers/P4WebBrowser/config.jelly
          src/main/resources/org/jenkinsci/plugins/p4/browsers/SwarmBrowser/config.jelly
          src/main/resources/org/jenkinsci/plugins/p4/changes/P4ChangeSet/index.jelly
          http://jenkins-ci.org/commit/p4-plugin/dc460806d1b78d5766aefb2b7514f981c0a43a03
          Log:
          Update Repository Browser for use with Pipeline.

          May fix the following: JENKINS-43069 JENKINS-37094

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Paul Allen Path: src/main/java/org/jenkinsci/plugins/p4/PerforceScm.java src/main/java/org/jenkinsci/plugins/p4/browsers/FishEyeBrowser.java src/main/java/org/jenkinsci/plugins/p4/browsers/OpenGrokBrowser.java src/main/java/org/jenkinsci/plugins/p4/browsers/P4Browser.java src/main/java/org/jenkinsci/plugins/p4/browsers/P4WebBrowser.java src/main/java/org/jenkinsci/plugins/p4/browsers/SwarmBrowser.java src/main/resources/org/jenkinsci/plugins/p4/browsers/FishEyeBrowser/config.jelly src/main/resources/org/jenkinsci/plugins/p4/browsers/OpenGrokBrowser/config.jelly src/main/resources/org/jenkinsci/plugins/p4/browsers/P4WebBrowser/config.jelly src/main/resources/org/jenkinsci/plugins/p4/browsers/SwarmBrowser/config.jelly src/main/resources/org/jenkinsci/plugins/p4/changes/P4ChangeSet/index.jelly http://jenkins-ci.org/commit/p4-plugin/dc460806d1b78d5766aefb2b7514f981c0a43a03 Log: Update Repository Browser for use with Pipeline. May fix the following: JENKINS-43069 JENKINS-37094

          Paul Allen added a comment -

          Release 1.7.1

          Paul Allen added a comment - Release 1.7.1

            p4paul Paul Allen
            erebel55 Ethan Thornburg
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: