Configuration-as-code-plugin: FAILED TO EXPORT hudson.plugins.jira.JiraProjectProperty$DescriptorImpl#sites

Created on 1 Aug 2018  路  6Comments  路  Source: jenkinsci/configuration-as-code-plugin

JCASC VERSION: 0.10-alpha
Jenkins: 2.13x

```plugins:
sites:

  • id: "default"
    url: "https://updates.jenkins.io/update-center.json"
    jenkins:
    agentProtocols:
  • "JNLP4-connect"
  • "Ping"
    authorizationStrategy:
    loggedInUsersCanDoAnything:
    allowAnonymousRead: false
    clouds:
  • kubernetes:
    containerCapStr: "10"
    jenkinsTunnel: "jenkins-agent:50000"
    jenkinsUrl: "http://jenkins:8080"
    maxRequestsPerHostStr: "32"
    name: "kubernetes"
    namespace: "cicd"
    serverUrl: "https://kubernetes.default"
    templates:

    • containers:



      • args: "${computer.jnlpmac} ${computer.name}"


        envVars:





        • containerEnvVar:



          key: "JENKINS_URL"



          value: "http://jenkins:8080"



          image: "jenkins/jnlp-slave:3.19-1-alpine"



          livenessProbe:



          failureThreshold: 0



          initialDelaySeconds: 0



          periodSeconds: 0



          successThreshold: 0



          timeoutSeconds: 0



          name: "jnlp"



          privileged: true



          resourceLimitCpu: "200m"



          resourceLimitMemory: "512Mi"



          resourceRequestCpu: "200m"



          resourceRequestMemory: "512Mi"



          label: "jenkins-jenkins-slave"



          name: "default"



          nodeUsageMode: "NORMAL"



          workspaceVolume:



          emptyDirWorkspaceVolume:



          memory: false



          crumbIssuer:



          standard:



          excludeClientIPFromCrumb: true



          disableRememberMe: false



          mode: NORMAL



          noUsageStatistics: true



          numExecutors: 0



          primaryView:



          all:



          name: "all"



          quietPeriod: 5



          scmCheckoutRetryCount: 0



          slaveAgentPort: 50000



          views:






  • all:
    name: "all"
    unclassified:
    bitbucketendpointconfiguration:
    endpoints:

    • bitbucketCloudEndpoint:

      enableCache: false

      manageHooks: false

      repositoriesCacheDuration: 0

      teamCacheDuration: 0

      jiraprojectproperty:

      sites: "FAILED TO EXPORT hudson.plugins.jira.JiraProjectProperty$DescriptorImpl#sites:\

      \ \norg.jenkinsci.plugins.casc.ConfiguratorException: Can't read attribute 'url'\

      \ from [Lhudson.plugins.jira.JiraSite;@5bd5febe\n\tat org.jenkinsci.plugins.casc.Attribute._getValue(Attribute.java:246)\n\

      \tat org.jenkinsci.plugins.casc.Attribute.getValue(Attribute.java:166)\n\tat\

      \ org.jenkinsci.plugins.casc.impl.configurators.DataBoundConfigurator.describe(DataBoundConfigurator.java:227)\n\

      \tat org.jenkinsci.plugins.casc.Attribute.describe(Attribute.java:188)\n\tat\

      \ org.jenkinsci.plugins.casc.BaseConfigurator.compare(BaseConfigurator.java:328)\n\

      \tat org.jenkinsci.plugins.casc.impl.configurators.DescriptorConfigurator.describe(DescriptorConfigurator.java:65)\n\

      \tat org.jenkinsci.plugins.casc.impl.configurators.GlobalConfigurationCategoryConfigurator.describe(GlobalConfigurationCategoryConfigurator.java:94)\n\

      \tat org.jenkinsci.plugins.casc.impl.configurators.GlobalConfigurationCategoryConfigurator.lambda$describe$6(GlobalConfigurationCategoryConfigurator.java:87)\n\

      \tat java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)\n\

      \tat java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)\n\

      \tat java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)\n\

      \tat java.util.Iterator.forEachRemaining(Iterator.java:116)\n\tat java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)\n\

      \tat java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)\n\

      \tat java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)\n\

      \tat java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)\n\

      \tat java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)\n\

      \tat java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\n\

      \tat java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)\n\

      \tat org.jenkinsci.plugins.casc.impl.configurators.GlobalConfigurationCategoryConfigurator.describe(GlobalConfigurationCategoryConfigurator.java:87)\n\

      \tat org.jenkinsci.plugins.casc.impl.configurators.GlobalConfigurationCategoryConfigurator.describe(GlobalConfigurationCategoryConfigurator.java:30)\n\

      \tat org.jenkinsci.plugins.casc.ConfigurationAsCode.export(ConfigurationAsCode.java:294)\n\

      \tat org.jenkinsci.plugins.casc.ConfigurationAsCode.doExport(ConfigurationAsCode.java:284)\n\

      \tat java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)\n\

      \tat org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)\n\

      \tat org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:77)\n\

      \tat org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:26)\n\

      \tat org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184)\n\tat org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117)\n\

      \tat org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129)\n\tat org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)\n\

      \tat org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:734)\n\tat org.kohsuke.stapler.Stapler.invoke(Stapler.java:864)\n\

      \tat org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)\n\tat org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:734)\n\

      \tat org.kohsuke.stapler.Stapler.invoke(Stapler.java:864)\n\tat org.kohsuke.stapler.Stapler.invoke(Stapler.java:668)\n\

      \tat org.kohsuke.stapler.Stapler.service(Stapler.java:238)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\n\

      \tat org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)\n\

      \tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)\n\

      \tat hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)\n\

      \tat org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:225)\n\

      \tat hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)\n\

      \tat io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)\n\

      \tat hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)\n\

      \tat io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61)\n\

      \tat hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)\n\

      \tat hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)\n\

      \tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)\n\

      \tat hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:99)\n\tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)\n\

      \tat hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)\n\

      \tat hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)\n\

      \tat hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)\n\

      \tat jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)\n\

      \tat hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)\n\

      \tat org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)\n\

      \tat hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)\n\

      \tat hudson.security.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:115)\n\

      \tat hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)\n\

      \tat hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90)\n\

      \tat hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)\n\tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)\n\

      \tat org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)\n\

      \tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)\n\

      \tat hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)\n\

      \tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)\n\

      \tat org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)\n\

      \tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)\n\

      \tat org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)\n\

      \tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)\n\

      \tat org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)\n\

      \tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\

      \tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)\n\

      \tat org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)\n\

      \tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)\n\

      \tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317)\n\

      \tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)\n\

      \tat org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)\n\

      \tat org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)\n\

      \tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)\n\

      \tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219)\n\

      \tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)\n\

      \tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\

      \tat org.eclipse.jetty.server.Server.handle(Server.java:531)\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)\n\

      \tat org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)\n\

      \tat org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)\n\

      \tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)\n\tat\

      \ org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)\n\tat\

      \ org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)\n\

      \tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)\n\

      \tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)\n\

      \tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)\n\

      \tat org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)\n\

      \tat winstone.BoundedExecutorService.lambda$scheduleNext$0(BoundedExecutorService.java:80)\n\

      \tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\

      \tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\

      \tat java.lang.Thread.run(Thread.java:748)\n"

      tool:

      git:

      installations:

    • home: "git"

      name: "Default"

      ```

All 6 comments

investigating.
anyway with inconsistent getter and setters jira plugin will need some update before being compatible with CasC

the issue is that JiraSite do declare a constructor parameter url with single value, but a getter to return an array. As a result we get mulitplicity mismatch for this attribute. Generally speaking getter and setters for the url property are fully inconsistent in this plugin :'(

damn! i'll create an issue over at the JiraSite plugin repo and refer to this issue here. what do you think @ndeloof ?

i'm afraid if they change the getter or the setter, a lot of dependent plugins will get into trouble as well. f**k.

Please report an issue, adding tag jcasc-compatibility.

To keep binary compatibility they could introduce new property accessors for get/setSites(). The current 'setter' actually add values to list ! 馃

Was this page helpful?
0 / 5 - 0 ratings