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 [email protected].
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