Hello Guys
Is there a way to set views of a present folder to a newly created folder. Im trying the below But it is giving an error in Jenkins 2.332.1.
org.apache.commons.jelly.JellyTagException: jar:file:/var/jenkins/home/war/WEB-INF/lib/jenkins-core-2.332.1.jar!/hudson/model/View/index.jelly:42:43: st:include org.apache.commons.jelly.JellyTagException: jar:file:/var/jenkins/home/war/WEB-INF/lib/jenkins-core-2.332.1.jar!/lib/hudson/projectView.jelly:66:24: <d:invokeBody> class java.util.concurrent.CopyOnWriteArrayList cannot be cast to class hudson.model.View (java.util.concurrent.CopyOnWriteArrayList is in module java.base of loader ‘bootstrap’; hudson.model.View is in unnamed module of loader org.eclipse.jetty.webapp.WebAppClassLoader @b7c4869)
My code -
com.cloudbees.hudson.plugins.folder.Folder folder = Jenkins.instance.getItem(folderName)
com.cloudbees.hudson.plugins.folder.views.DefaultFolderViewHolder folderView = folder.getFolderViews()
folderViewList = folderView.getViews()
String viewXml = Items.XSTREAM2.toXML(folderViewList)
folderViewNode = new XmlParser().parseText(viewXml)
folder(folderName) {
configure { folder ->
folder / folderViews / 'views' << folderViewNode
}
}
The data in the folderViewNode is something like this -
<java.util.concurrent.CopyOnWriteArrayList>
<hudson.model.AllView>
<owner class="com.cloudbees.hudson.plugins.folder.Folder" plugin="cloudbees-folder@6.14">
<actions/>
<description></description>
<properties/>
<folderViews class="com.cloudbees.hudson.plugins.folder.views.DefaultFolderViewHolder">
<views reference="../../../.."/>
<primaryView>all</primaryView>
<tabBar class="hudson.views.DefaultViewsTabBar"/>
</folderViews>
<healthMetrics>
<com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
<nonRecursive>false</nonRecursive>
</com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
</healthMetrics>
<icon class="com.cloudbees.hudson.plugins.folder.icons.StockFolderIcon"/>
</owner>
<name>all</name>
<filterExecutors>false</filterExecutors>
<filterQueue>false</filterQueue>
<properties class="hudson.model.View$PropertyList"/>
</hudson.model.AllView>
<au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView plugin="build-pipeline-plugin@1.5.8">
<owner class="com.cloudbees.hudson.plugins.folder.Folder" reference="../../hudson.model.AllView/owner"/>
<name>Test Pipeline</name>
<description>Build and deploy pipeline</description>
<filterExecutors>true</filterExecutors>
<filterQueue>true</filterQueue>
<properties class="hudson.model.View$PropertyList"/>
<selectedJob>example-compile</selectedJob>
<gridBuilder class="au.com.centrumsystems.hudson.plugin.buildpipeline.DownstreamProjectGridBuilder">
<firstJob>example-compile</firstJob>
<firstJobLink>view/All/job/example-test/job/example-compile/</firstJobLink>
</gridBuilder>
<noOfDisplayedBuilds>10</noOfDisplayedBuilds>
<buildViewTitle>Test Pipeline</buildViewTitle>
<consoleOutputLinkStyle>New Window</consoleOutputLinkStyle>
<cssUrl></cssUrl>
<triggerOnlyLatestJob>false</triggerOnlyLatestJob>
<alwaysAllowManualTrigger>true</alwaysAllowManualTrigger>
<showPipelineParameters>true</showPipelineParameters>
<rowHeaders class="au.com.centrumsystems.hudson.plugin.buildpipeline.extension.SimpleRowHeader"/>
<showPipelineParametersInHeaders>false</showPipelineParametersInHeaders>
<columnHeaders class="au.com.centrumsystems.hudson.plugin.buildpipeline.extension.NullColumnHeader"/>
<buildCard class="au.com.centrumsystems.hudson.plugin.buildpipeline.extension.StandardBuildCard"/>
<startsWithParameters>false</startsWithParameters>
<refreshFrequency>60</refreshFrequency>
<showPipelineDefinitionHeader>false</showPipelineDefinitionHeader>
</au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView>
</java.util.concurrent.CopyOnWriteArrayList>
Can somebody help me, how can i restore the folder views ?