Hi Jenkins JCasC-Plugin and Role-Strategy-Plugin teams,

I found a work around for this issue. :-)

Initially when Jenkins has started I go to "role-strategy/manage-roles"

http://localhost/role-strategy/manage-roles

and then just click "Save" button

After this "save" I can make changes to 
http://localhost/role-strategy/assign-roles without errors

Now I'm trying to find out how to make a groovy script to implement this 
workaround

I tried the following code but that didn't work

      def currentAuthenticationStrategy = 
Jenkins.instance.getAuthorizationStrategy()
      
Jenkins.instance.setAuthorizationStrategy(currentAuthenticationStrategy)
      Jenkins.instance.save()

I hope you can support me here.

thanx

kind regards,
Bas

Am Samstag, 8. Dezember 2018 14:31:44 UTC+1 schrieb spikkie:
>
> Hi Jenkins JCasC-Plugin and Role-Strategy-Plugin teams,
>
> following isse:
> I have configured Role-Strategy using JCasC plugin see configuration and 
> the end.
> But now following error occurs when updating manually 
>
>     http://localhost/jenkins/role-strategy/assign-roles
>    User/group to add -> newuser -> save
>
> When I add a new user manually I will get following error:
>
>     
> Stack trace
>
> java.lang.UnsupportedOperationException
>     at 
> java.util.Collections$UnmodifiableCollection.clear(Collections.java:1074)
>     at 
> com.michelin.cio.hudson.plugins.rolestrategy.RoleMap.clearSidsForRole(RoleMap.java:208)
>     at 
> com.michelin.cio.hudson.plugins.rolestrategy.RoleMap.clearSids(RoleMap.java:248)
>     at 
> com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy$DescriptorImpl.doAssignSubmit(RoleBasedAuthorizationStrategy.java:696)
>     at 
> com.michelin.cio.hudson.plugins.rolestrategy.RoleStrategyConfig.doAssignSubmit(RoleStrategyConfig.java:165)
>     at 
> java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
>     at 
> org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)
>     at 
> org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:77)
>     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:734)
> Caused: javax.servlet.ServletException
>     at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:784)
>     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:864)
>     at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
>     at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:734)
>     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:864)
>     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:668)
>     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:865)
>     at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
>     at 
> hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
>     at 
> com.smartcodeltd.jenkinsci.plugin.assetbundler.filters.LessCSS.doFilter(LessCSS.java:47)
>     at 
> hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
>     at 
> hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
>     at 
> hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
>     at 
> hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
>     at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>     at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:99)
>     at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>     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 
> jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
>     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:90)
>     at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
>     at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>     at 
> org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
>     at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>     at 
> hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
>     at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>     at 
> org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
>     at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>     at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>     at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>     at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
>     at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>     at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>     at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>     at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>     at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317)
>     at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>     at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>     at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>     at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>     at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219)
>     at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>     at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>     at org.eclipse.jetty.server.Server.handle(Server.java:531)
>     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)
>     at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>     at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)
>     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
>     at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>     at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>     at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>     at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>     at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>     at 
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>     at 
> winstone.BoundedExecutorService.lambda$scheduleNext$0(BoundedExecutorService.java:80)
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>     at java.lang.Thread.run(Thread.java:748)
>
>
> Found a similar reported issue here
> https://github.com/jenkinsci/configuration-as-code-plugin/issues/504
> but that info did not give me any clue
>
> Can you please help me analyse this.
>
> Thanx!!!
>
> My Configuration
>
> Jenkins Version 2.138.1
> plugin versions
> configuration-as-code    1.3
> configuration-as-code-support    1.3
> role-strategy    2.9.0
>
>
> JCasC configuration: jenkins.yaml in JENKINS_HOME
>
> configuration-as-code:
>   version: "1"
>   deprecated: warn
>   restricted: warn
>   unknown: warn
> jenkins:
>    version: "1"
>    deprecated: warn
>    restricted: warn
>    unknown: warn
>   authorizationStrategy:
>     roleBased:
>       roles:
>         global:
>           - name: "admin"
>             description: "Jenkins Administrators"
>             permissions:
>               - "Overall/Administer"
>               - "Overall/Read"
>               - "Credentials/Create"
>               - "Credentials/Delete"
>               - "Credentials/ManageDomains"
>               - "Credentials/Update"
>               - "Credentials/View"
>               - "Build Failure Analyzer/RemoveCause"
>               - "Build Failure Analyzer/UpdateCauses"
>               - "Build Failure Analyzer/ViewCauses"
>               - "Agent/Build"
>               - "Agent/Configure"
>               - "Agent/Connect"
>               - "Agent/Create"
>               - "Agent/Delete"
>               - "Agent/Disconnect"
>               - "Agent/Provision"
>               - "Job/Build"
>               - "Job/Cancel"
>               - "Job/Configure"
>               - "Job/Create"
>               - "Job/Delete"
>               - "Job/Discover"
>               - "Job/Move"
>               - "Job/Read"
>               - "Job/Workspace"
>               - "Run/Delete"
>               - "Run/Replay"
>               - "Run/Update"
>               - "View/Configure"
>               - "View/Create"
>               - "View/Delete"
>               - "View/Read"
>             assignments:
>               - "admin"
>               - "bas"
>           - name: "jenkinsAdmin"
>             description: "Jenkins Administrators"
>             permissions:
>               - "Overall/Administer"
>               - "Overall/Read"
>               - "Credentials/Create"
>               - "Credentials/Delete"
>               - "Credentials/ManageDomains"
>               - "Credentials/Update"
>               - "Credentials/View"
>               - "Build Failure Analyzer/RemoveCause"
>               - "Build Failure Analyzer/UpdateCauses"
>               - "Build Failure Analyzer/ViewCauses"
>               - "Agent/Build"
>               - "Agent/Configure"
>               - "Agent/Connect"
>               - "Agent/Create"
>               - "Agent/Delete"
>               - "Agent/Disconnect"
>               - "Job/Build"
>               - "Job/Cancel"
>               - "Job/Configure"
>               - "Job/Create"
>               - "Job/Delete"
>               - "Job/Discover"
>               - "Job/Move"
>               - "Job/Read"
>               - "Job/Workspace"
>               - "Run/Delete"
>               - "Run/Update"
>               - "View/Configure"
>               - "View/Create"
>               - "View/Delete"
>               - "View/Read"
>             assignments:
>               - "admin"
>           - name: "projectAdmin"
>             description: "Jenkins Project Administrators"
>             permissions:
>               - "Overall/Read"
>               - "Credentials/Create"
>               - "Credentials/Delete"
>               - "Credentials/ManageDomains"
>               - "Credentials/Update"
>               - "Credentials/View"
>               - "Build Failure Analyzer/RemoveCause"
>               - "Build Failure Analyzer/UpdateCauses"
>               - "Build Failure Analyzer/ViewCauses"
>               - "Job/Build"
>               - "Job/Discover"
>               - "Job/Read"
>               - "View/Configure"
>               - "View/Create"
>               - "View/Delete"
>               - "View/Read"
>             assignments:
>               - "admin"
>           - name: "projectUser"
>             description: "Jenkins Project User"
>             permissions:
>               - "Overall/Read"
>               - "Build Failure Analyzer/UpdateCauses"
>               - "Build Failure Analyzer/ViewCauses"
>               - "Job/Build"
>               - "Job/Discover"
>               - "Job/Read"
>               - "View/Read"
>             assignments:
>               - "admin"
>           - name: "projectViewer"
>             description: "Jenkins Project Viewer"
>             permissions:
>               - "Overall/Read"
>               - "Build Failure Analyzer/ViewCauses"
>               - "Job/Discover"
>               - "Job/Read"
>               - "View/Read"
>             assignments:
>               - "admin"
>           - name: "projectWorkspace"
>             description: "Jenkins Project Workspace"
>             permissions:
>               - "Job/Workspace"
>             assignments:
>               - "admin"
>           - name: "anon"
>             description: "Anonymous users"
>             assignments:
>               - "anonymous"
>
>
>
>
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/3b17bafc-ac34-4ca0-9bc3-4676ff5b61ec%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to