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

Authorize project plugin configuration unavailable in Configuration as Code

      When downloading the configuration file from CasC plugin on the Jenkins controller, e.g. <jenkins_host:port>/configuration-as-code, I'm expecting to see a block for the authorize project configuration, however it doesn't appear to exist.  Upon restart of the controller, the configuration for the plugin then gets removed.

       

      Jenkins controller version: 2.346.1

      Configuration as code plugin version: 1512.vb_79d418d5fc8

      Authorize project plugin version: 1.4.0

      Java runtime version: 1.8.0_291-b10

      os.arch    amd64
      os.name    Windows Server 2016
      os.version    10.0

          [JENKINS-71175] Authorize project plugin configuration unavailable in Configuration as Code

          Mark Waite added a comment - - edited

          I can't duplicate the issue as described. Steps that I took to see the results of configuring the authorize project plugin with configuration as code:

          1. Install and configure Jenkins 2.387.2
          2. Install the authorize project plugin 1.5.1 (the first version with configuration as code support) and the configuration as code plugin
          3. Enable per project authorization from the "Configure global security" page and make changes from the default settings
          4. Open configuration as code from "Manage Jenkins" / "Configuration as Code" / "View Configuration" and confirm that the settings are visible as:
              queueItemAuthenticator:
                authenticators:
                - project:
                    disabledStrategies:
                    - "org.jenkinsci.plugins.authorizeproject.strategy.TriggeringUsersAuthorizationStrategy"
                    - "org.jenkinsci.plugins.authorizeproject.strategy.AnonymousAuthorizationStrategy"
                    enabledStrategies:
                    - "org.jenkinsci.plugins.authorizeproject.strategy.SpecificUsersAuthorizationStrategy"
                    - "org.jenkinsci.plugins.authorizeproject.strategy.SystemAuthorizationStrategy"
            

          I'd love to have a documentation pull request submitted to the authorize project plugin that updates the screenshot and provides a description of the configuration as code process. Would you be willing to submit that pull request?

          If you're interested in further improving the configuration as code experience for the authorize project plugin, it would be nice to have symbols defined for each of the strategies so that the symbol is inserted into configuration as code rather than the string with the full path to the implementing Java class.

          Mark Waite added a comment - - edited I can't duplicate the issue as described. Steps that I took to see the results of configuring the authorize project plugin with configuration as code: Install and configure Jenkins 2.387.2 Install the authorize project plugin 1.5.1 (the first version with configuration as code support) and the configuration as code plugin Enable per project authorization from the "Configure global security" page and make changes from the default settings Open configuration as code from "Manage Jenkins" / "Configuration as Code" / "View Configuration" and confirm that the settings are visible as: queueItemAuthenticator: authenticators: - project: disabledStrategies: - "org.jenkinsci.plugins.authorizeproject.strategy.TriggeringUsersAuthorizationStrategy" - "org.jenkinsci.plugins.authorizeproject.strategy.AnonymousAuthorizationStrategy" enabledStrategies: - "org.jenkinsci.plugins.authorizeproject.strategy.SpecificUsersAuthorizationStrategy" - "org.jenkinsci.plugins.authorizeproject.strategy.SystemAuthorizationStrategy" I'd love to have a documentation pull request submitted to the authorize project plugin that updates the screenshot and provides a description of the configuration as code process. Would you be willing to submit that pull request? If you're interested in further improving the configuration as code experience for the authorize project plugin, it would be nice to have symbols defined for each of the strategies so that the symbol is inserted into configuration as code rather than the string with the full path to the implementing Java class.

          lkis01 added a comment -

          Oddly, it does not appear for me when exporting the configuration.  This is my current configuration for the plugin.

          "I'd love to have a documentation pull request submitted to the authorize project plugin that updates the screenshot and provides a description of the configuration as code process. Would you be willing to submit that pull request?" - Yes, I can submit that request.

          "If you're interested in further improving the configuration as code experience for the authorize project plugin, it would be nice to have symbols defined for each of the strategies so that the symbol is inserted into configuration as code rather than the string with the full path to the implementing Java class." - I haven't done Jenkins plugin development in a long time, but would like to resume sometime.  I'd definitely be interested in improving config as code.

           

           

          lkis01 added a comment - Oddly, it does not appear for me when exporting the configuration.  This is my current configuration for the plugin. "I'd love to have a documentation pull request submitted to the authorize project plugin that updates the screenshot and provides a description of the configuration as code process. Would you be willing to submit that pull request?" - Yes, I can submit that request. "If you're interested in further improving the configuration as code experience for the authorize project plugin, it would be nice to have symbols defined for each of the strategies so that the symbol is inserted into configuration as code rather than the string with the full path to the implementing Java class." - I haven't done Jenkins plugin development in a long time, but would like to resume sometime.  I'd definitely be interested in improving config as code.    

          lkis01 added a comment -

          I will try adding the suggested block in our yaml file and restarting Jenkins to see if the changes are persisted.  *Correction to the above as well, "run as anonymous" should not be checked so the block you mentioned should work well.

          lkis01 added a comment - I will try adding the suggested block in our yaml file and restarting Jenkins to see if the changes are persisted.  *Correction to the above as well, "run as anonymous" should not be checked so the block you mentioned should work well.

          lkis01 added a comment -

          Here is the error I am getting when trying to compile the YAML file (note: the version of the authorize project plugin I am using is 1.4.0)

          2023-05-02 13:40:42.800+0000 [id=2380]    WARNING    o.e.j.s.h.ContextHandler$Context#log: Error while serving http://cafil0016win:8080/configuration-as-code/checkNewSource
          java.lang.IllegalStateException: No configurator implementation to manage class org.jenkinsci.plugins.authorizeproject.ProjectQueueItemAuthenticator
              at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$forceLookupConfigurator$8(HeteroDescribableConfigurator.java:136)
              at io.vavr.control.Option.getOrElseThrow(Option.java:351)
              at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.forceLookupConfigurator(HeteroDescribableConfigurator.java:136)
              at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$1(HeteroDescribableConfigurator.java:85)
              at io.vavr.control.Option.map(Option.java:392)
              at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$3(HeteroDescribableConfigurator.java:85)
              at io.vavr.Tuple2.apply(Tuple2.java:238)
              at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.configure(HeteroDescribableConfigurator.java:83)
              at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.check(HeteroDescribableConfigurator.java:92)
              at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.check(HeteroDescribableConfigurator.java:55)
              at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:343)
              at io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:286)
              at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:350)
              at io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:286)
              at io.jenkins.plugins.casc.ConfigurationAsCode.lambda$checkWith$8(ConfigurationAsCode.java:776)
              at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:712)
              at io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:776)
              at io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:650)
              at io.jenkins.plugins.casc.ConfigurationAsCode.doCheckNewSource(ConfigurationAsCode.java:245)
              at java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
              at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:397)
          Caused: java.lang.reflect.InvocationTargetException
              at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:401)
              at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:409)
              at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:207)
              at org.kohsuke.stapler.SelectionInterceptedFunction$Adapter.invoke(SelectionInterceptedFunction.java:36)
              at org.kohsuke.stapler.verb.HttpVerbInterceptor.invoke(HttpVerbInterceptor.java:48)
              at org.kohsuke.stapler.SelectionInterceptedFunction.bindAndInvoke(SelectionInterceptedFunction.java:26)
              at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:140)
              at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:558)
              at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:59)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
              at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:475)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:694)
              at org.kohsuke.stapler.Stapler.service(Stapler.java:240)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
              at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
              at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1631)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:157)
              at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:81)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at com.atlassian.bitbucket.jenkins.internal.applink.oauth.serviceprovider.auth.OAuth1aRequestFilter.doFilter(OAuth1aRequestFilter.java:91)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:160)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
              at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:154)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:94)
              at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:54)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)
              at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:102)
              at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:93)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:219)
              at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:213)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:97)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
              at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
              at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:63)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:111)
              at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:172)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
              at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:53)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
              at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:86)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
              at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
              at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:38)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
              at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
              at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:571)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
              at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
              at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
              at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
              at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
              at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
              at org.eclipse.jetty.server.Server.handle(Server.java:516)
              at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
              at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
              at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
              at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
              at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
              at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
              at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
              at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
              at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
              at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
              at java.lang.Thread.run(Unknown Source) 

          lkis01 added a comment - Here is the error I am getting when trying to compile the YAML file (note: the version of the authorize project plugin I am using is 1.4.0) 2023-05-02 13:40:42.800+0000 [id=2380]    WARNING    o.e.j.s.h.ContextHandler$Context#log: Error while serving http: //cafil0016win:8080/configuration-as-code/checkNewSource java.lang.IllegalStateException: No configurator implementation to manage class org.jenkinsci.plugins.authorizeproject.ProjectQueueItemAuthenticator     at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$forceLookupConfigurator$8(HeteroDescribableConfigurator.java:136)     at io.vavr.control.Option.getOrElseThrow(Option.java:351)     at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.forceLookupConfigurator(HeteroDescribableConfigurator.java:136)     at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$1(HeteroDescribableConfigurator.java:85)     at io.vavr.control.Option.map(Option.java:392)     at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$3(HeteroDescribableConfigurator.java:85)     at io.vavr.Tuple2.apply(Tuple2.java:238)     at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.configure(HeteroDescribableConfigurator.java:83)     at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.check(HeteroDescribableConfigurator.java:92)     at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.check(HeteroDescribableConfigurator.java:55)     at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:343)     at io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:286)     at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:350)     at io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:286)     at io.jenkins.plugins.casc.ConfigurationAsCode.lambda$checkWith$8(ConfigurationAsCode.java:776)     at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:712)     at io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:776)     at io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:650)     at io.jenkins.plugins.casc.ConfigurationAsCode.doCheckNewSource(ConfigurationAsCode.java:245)     at java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)     at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:397) Caused: java.lang.reflect.InvocationTargetException     at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:401)     at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:409)     at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:207)     at org.kohsuke.stapler.SelectionInterceptedFunction$Adapter.invoke(SelectionInterceptedFunction.java:36)     at org.kohsuke.stapler.verb.HttpVerbInterceptor.invoke(HttpVerbInterceptor.java:48)     at org.kohsuke.stapler.SelectionInterceptedFunction.bindAndInvoke(SelectionInterceptedFunction.java:26)     at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:140)     at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:558)     at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:59)     at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)     at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:475)     at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:694)     at org.kohsuke.stapler.Stapler.service(Stapler.java:240)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)     at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)     at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1631)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:157)     at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:81)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at com.atlassian.bitbucket.jenkins.internal.applink.oauth.serviceprovider.auth.OAuth1aRequestFilter.doFilter(OAuth1aRequestFilter.java:91)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:160)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)     at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:154)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:94)     at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:54)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)     at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:102)     at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:93)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:219)     at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:213)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:97)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)     at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)     at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:63)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:111)     at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:172)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)     at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:53)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)     at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:86)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)     at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)     at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:38)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:571)     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)     at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)     at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)     at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)     at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)     at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)     at org.eclipse.jetty.server.Server.handle(Server.java:516)     at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)     at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)     at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)     at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)     at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)     at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)     at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)     at java.lang. Thread .run(Unknown Source)

          Mark Waite added a comment -

          Authorize project plugin versions before 1.5.1 do not have configuration as code support as far as I understand. You'll need to upgrade your version of the plugin to the most recent release.

          Mark Waite added a comment - Authorize project plugin versions before 1.5.1 do not have configuration as code support as far as I understand. You'll need to upgrade your version of the plugin to the most recent release.

          lkis01 added a comment -

          Thanks markewaite , I will give that a try shortly and let you know.

          lkis01 added a comment - Thanks markewaite , I will give that a try shortly and let you know.

          Mark Waite added a comment -

          You'll need to upgrade your version of Jenkins core before you can use the new authorize project plugin release. It requires Jenkins 2.361.4 or newer and Java 11. I recommend Jenkins 2.387.2 (today) and Jenkins 2.387.3 (tomorrow). You might also consider making the transition to Java 17 rather than Java 11, since both are supported by Jenkins.

          Mark Waite added a comment - You'll need to upgrade your version of Jenkins core before you can use the new authorize project plugin release. It requires Jenkins 2.361.4 or newer and Java 11. I recommend Jenkins 2.387.2 (today) and Jenkins 2.387.3 (tomorrow). You might also consider making the transition to Java 17 rather than Java 11, since both are supported by Jenkins.

          lkis01 added a comment -

          This particular controller is quite behind as I'm not fully maintaining it.  I'll bring it up to speed with our other controllers which have the latest LTS 2.387.2 and Java 11 (maybe try Java 17 for this Windows instance).

          I'll post back once I've made the upgrades and the configuration is exported as expected for the plugin, thanks.

          lkis01 added a comment - This particular controller is quite behind as I'm not fully maintaining it.  I'll bring it up to speed with our other controllers which have the latest LTS 2.387.2 and Java 11 (maybe try Java 17 for this Windows instance). I'll post back once I've made the upgrades and the configuration is exported as expected for the plugin, thanks.

          lkis01 added a comment -

          Waiting for an appropriate change window to upgrade this server... will post back once completed.  I will also open the documentation PR later on.

          lkis01 added a comment - Waiting for an appropriate change window to upgrade this server... will post back once completed.  I will also open the documentation PR later on.

            Unassigned Unassigned
            lkisac01 lkis01
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: