I've been investigating how to include the build history
widget on an Action extension plugin.
We are currently using stapler via a groovy context to render some information pertaining to a particular run, as well as get the build history in the side panel - code below.
def st = namespace("jelly:stapler")
st.include(it: my.run, page: "sidepanel")
l.side_panel {
st.include(it:my.proj, page:"/hudson/widgets/HistoryWidget/all")
}
l.main_panel {
//Rendering other components
}
Including the historyWidget/all has some undesirable effects - see attached '1'
It seems to include the entire page, plus the widget in the plugin's view.
If I try to use the default widget (not all of the entries), I see a much different error - see attached, callstack below. I suspect I may be hitting this issue as I am not providing a relative context for the include call (perhaps I need to add the 'from' parameter, but I'm not quite sure what value I'd pass through).
java.lang.RuntimeException: org.apache.commons.jelly.JellyTagException: jar:file:/C:/Users/jgamble/Perforce/JenkinsDev/JenkinsDev/Plugins/job-summary-plugin/dev/target/work/webapp/WEB-INF/lib/jenkins-core-1.625.2.jar!/lib/layout/layout.jelly:247:25: <d:invokeBody> org.apache.commons.jelly.JellyTagException: jar:file:/C:/Users/jgamble/Perforce/JenkinsDev/JenkinsDev/Plugins/job-summary-plugin/dev/target/work/webapp/WEB-INF/lib/jenkins-core-1.625.2.jar!/lib/layout/main-panel.jelly:36:21: <d:invokeBody> org.apache.commons.jelly.JellyTagException: jar:file:/C:/Users/jgamble/Perforce/JenkinsDev/JenkinsDev/Plugins/job-summary-plugin/dev/target/work/webapp/WEB-INF/lib/jenkins-core-1.625.2.jar!/hudson/widgets/HistoryWidget/index.jelly:57:40: <st:include> No page found 'entries.jelly' for class hudson.model.FreeStyleProject
at org.kohsuke.stapler.jelly.groovy.JellyBuilder.doInvokeMethod(JellyBuilder.java:280)
at org.kohsuke.stapler.jelly.groovy.Namespace$ProxyImpl.invoke(Namespace.java:92)
at com.sun.proxy.$Proxy56.layout(Unknown Source)
at lib.LayoutTagLib$layout.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at index.run(index.groovy:11)
at org.kohsuke.stapler.jelly.groovy.GroovierJellyScript.run(GroovierJellyScript.java:74)
at org.kohsuke.stapler.jelly.groovy.GroovierJellyScript.run(GroovierJellyScript.java:62)
at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63)
at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53)
at org.kohsuke.stapler.jelly.JellyRequestDispatcher.forward(JellyRequestDispatcher.java:55)
at org.kohsuke.stapler.jelly.groovy.GroovyFacet.handleIndexRequest(GroovyFacet.java:121)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:735)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.MetaClass$13.dispatch(MetaClass.java:411)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.MetaClass$13.dispatch(MetaClass.java:411)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
So my question: How can I simply include the Build History widget via stapler/jelly into my plugin's view?
Thanks!
l.side_panel {
st.include(it:my.historyWidget, page:"index.jelly")
}
--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/bc144b15-2173-4d1a-b642-1fe0e738a470%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.