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

Credentials store API cannot browse into domains

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      When using the API for the credentials store it is not possible to directly browse into all domains via the depth request parameter. Accessing https://example.com/credential-store/api/xml results in the follwing useless document:

      <userFacingAction>
      <store/>
      </userFacingAction>
      

      And giving any depth parameter like https://example.com/credential-store/api/xml?depth=1 results in an exception:

      javax.servlet.ServletException: java.lang.IllegalArgumentException: wrong number of arguments
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:778)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
      	at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:210)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
      	at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:390)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
      	at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      	at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      	at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
      	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      	at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      	at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      	at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
      	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      	at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:74)
      	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      	at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      	at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
      	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      	at org.eclipse.jetty.server.Server.handle(Server.java:370)
      	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
      	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
      	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
      	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
      	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
      	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
      	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.IllegalArgumentException: wrong number of arguments
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at org.kohsuke.stapler.export.MethodProperty.getValue(MethodProperty.java:66)
      	at org.kohsuke.stapler.export.Property.writeTo(Property.java:114)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:187)
      	at org.kohsuke.stapler.export.Property.writeValue(Property.java:232)
      	at org.kohsuke.stapler.export.Property.writeValue(Property.java:137)
      	at org.kohsuke.stapler.export.Property.writeTo(Property.java:114)
      	at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:187)
      	at org.kohsuke.stapler.export.Model.writeTo(Model.java:154)
      	at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:267)
      	at hudson.model.Api.doXml(Api.java:97)
      	at sun.reflect.GeneratedMethodAccessor928.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
      	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
      	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
      	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
      	... 66 more
      

        Attachments

          Issue Links

            Activity

            Hide
            languitar Johannes Wienke added a comment -

            Any progress on this? We desperately need this. Or is there any way to access the required attributes with the tree parameter?

            Show
            languitar Johannes Wienke added a comment - Any progress on this? We desperately need this. Or is there any way to access the required attributes with the tree parameter?
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/com/cloudbees/plugins/credentials/CredentialsStoreAction.java
            src/main/java/com/cloudbees/plugins/credentials/ViewCredentialsAction.java
            http://jenkins-ci.org/commit/credentials-plugin/3d2779ec7e2f84e8aa64546ee8be7065180c7ecb
            Log:
            [FIXED JENKINS-24631] Expose the credentials details by the XML/JSON API

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/com/cloudbees/plugins/credentials/CredentialsStoreAction.java src/main/java/com/cloudbees/plugins/credentials/ViewCredentialsAction.java http://jenkins-ci.org/commit/credentials-plugin/3d2779ec7e2f84e8aa64546ee8be7065180c7ecb Log: [FIXED JENKINS-24631] Expose the credentials details by the XML/JSON API
            Hide
            jglick Jesse Glick added a comment -

            JIRA link daemon again thinking that filing a PR from origin is the same as merging it…

            Show
            jglick Jesse Glick added a comment - JIRA link daemon again thinking that filing a PR from origin is the same as merging it…
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/test/java/com/cloudbees/plugins/credentials/CredentialsStoreActionTest.java
            src/test/java/com/cloudbees/plugins/credentials/ViewCredentialsActionTest.java
            http://jenkins-ci.org/commit/credentials-plugin/5ca10d7c5553211976a7aa9358834c4e0908548a
            Log:
            JENKINS-24631 Add some smoke tests

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/test/java/com/cloudbees/plugins/credentials/CredentialsStoreActionTest.java src/test/java/com/cloudbees/plugins/credentials/ViewCredentialsActionTest.java http://jenkins-ci.org/commit/credentials-plugin/5ca10d7c5553211976a7aa9358834c4e0908548a Log: JENKINS-24631 Add some smoke tests
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/com/cloudbees/plugins/credentials/CredentialsStoreAction.java
            src/main/java/com/cloudbees/plugins/credentials/ViewCredentialsAction.java
            src/test/java/com/cloudbees/plugins/credentials/CredentialsStoreActionTest.java
            src/test/java/com/cloudbees/plugins/credentials/ViewCredentialsActionTest.java
            http://jenkins-ci.org/commit/credentials-plugin/defdd841cd63f621b3ae174269209cb93ec8bea6
            Log:
            Merge pull request #54 from jenkinsci/jenkins-24631

            [FIXED JENKINS-24631] Expose the credentials details by the XML/JSON API

            Compare: https://github.com/jenkinsci/credentials-plugin/compare/56b97517685e...defdd841cd63

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/com/cloudbees/plugins/credentials/CredentialsStoreAction.java src/main/java/com/cloudbees/plugins/credentials/ViewCredentialsAction.java src/test/java/com/cloudbees/plugins/credentials/CredentialsStoreActionTest.java src/test/java/com/cloudbees/plugins/credentials/ViewCredentialsActionTest.java http://jenkins-ci.org/commit/credentials-plugin/defdd841cd63f621b3ae174269209cb93ec8bea6 Log: Merge pull request #54 from jenkinsci/jenkins-24631 [FIXED JENKINS-24631] Expose the credentials details by the XML/JSON API Compare: https://github.com/jenkinsci/credentials-plugin/compare/56b97517685e...defdd841cd63

              People

              Assignee:
              stephenconnolly Stephen Connolly
              Reporter:
              languitar Johannes Wienke
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: