> Q: How is the <select/> markup being generated? line 48 of https://github.com/jenkinsci/jenkins/blob/master/core/src/main/resources/lib/form/select.jelly : ${descriptor.calcFillSettings(field,attrs)} <!-- this figures out the 'fillUrl' and 'fillDependsOn' attribute -->
line 394 of https://github.com/jenkinsci/jenkins/blob/4e0af4319ce8d7efc2bf6af313d5e154066b6dee/core/src/main/java/hudson/model/Descriptor.java public void calcFillSettings(String field, Map<String,Object> attributes) [..] if(method==null) throw new IllegalStateException(String.format("%s doesn't have the %s method for filling a drop-down list", getClass(), methodName)); Q: is my descriptor known to the jenkins instance? During the debug of one of the static methods, I can get one record for jenkins.model.Jenkins.getInstance().<MyRootAction,Descriptor<MyRootAction>>getDescriptorList(MyRootAction.class) So, the descriptor should be visible to the instance. The call to jenkins.model.Jenkins.getInstance().<MyRootAction,Descriptor<MyRootAction>>getDescriptorList(MyRootAction.class).get(MyRootAction.DescriptorImpl.class) confirms that this instance is the one returned by my descriptor. Q: where has my descriptor passed? Le Tue Feb 10 2015 at 14:05:49, Ivo Bellin Salarin < [email protected]> a écrit : > Thanks again, Ulli. > > I've reworked my code, and its rather essential right now. My class > (MyRootAction) extends AbstractDescribableImpl and it show a nested static > public class implementing Descriptor<MyRootAction>. This nested class has > been decorated with @Extension, as MyRootAction is. ( > https://github.com/nilleb/jenkins-plugins/blob/master/rootaction-example-plugin/src/main/java/org/jenkinsci/plugins/rootactionexampleplugin/MyRootAction.java > ) > > But, the combobox is still not filled with my values. The reason is always > the same: my <select/> is as follows: <select name="_.goalType" > class="setting-input select " value=""></select> => the attribute @fillUrl > is missing. > > The ui-samples, at run-time, have a fillUrl for their <select/>: > <select fillurl="/jenkins/descriptorByName/jenkins.plugins.ui_samples. > DynamicDropDownListBox/fillStateItems" filldependson="country" > name="_.state" class="setting-input select " value="USA:B"><option > value="USA:A">State A in USA</option><option value="USA:B">State B in > USA</option><option value="USA:C">State C in USA</option></select> > > Q: How is the <select/> markup being generated? > > > Le Tue Feb 10 2015 at 12:03:48 PM, Ulli Hafner <[email protected]> > a écrit : > > You should not create a new descriptor on every call to getDescriptor, >> this is done by Jenkins! So no need to override getDescriptor(). >> >> Best thing is to extend from AbstractDescribableImpl. >> >> Am 09.02.2015 um 21:54 schrieb Ivo Bellin Salarin < >> [email protected]>: >> >> Thanks Ulli! >> Yet I have to figure why the prototype.js is asking for null: >> <html><body> >> <h1>404 Not Found</h1> >> <p>Stapler processed this HTTP request as follows, but couldn't find the >> resource to consume the request >> <pre> >> -> evaluate(<hudson.model.Hudson@6a4edb79> :hudson.model.Hudson,"/ >> MyRootAction/null") >> -> evaluate(((StaplerProxy)<hudson.model.Hudson@6a4edb79>) >> .getTarget(),"/MyRootAction/null") >> -> evaluate(<hudson.model.Hudson@6a4edb79>.getDynamic(" >> MyRootAction",...),"/null") >> -> evaluate(<org.jenkinsci.plugins.rootactionexampleplugin. >> MyRootAction@974f250> :org.jenkinsci.plugins.rootactionexampleplugin. >> MyRootAction,"/null") >> <font color=red>-> No matching rule was found on >> <org.jenkinsci.plugins.rootactionexampleplugin.MyRootAction@974f250> >> for "/null"</font> >> </pre> >> <p><org.jenkinsci.plugins.rootactionexampleplugin.MyRootAction@974f250> >> has the following URL mappings, in the order of preference:<ol> >> <li> >> TOKEN.groovy for url=/TOKEN >> <li> >> VIEW.jelly for url=/VIEW >> <li> >> org.jenkinsci.plugins.rootactionexampleplugin.MyRootAction.getDescriptor() >> for url=/descriptor/... >> <li> >> org.jenkinsci.plugins.rootactionexampleplugin.MyRootAction.getDisplayName() >> for url=/displayName/... >> <li> >> org.jenkinsci.plugins.rootactionexampleplugin.MyRootAction.getIconFileName() >> for url=/iconFileName/... >> <li> >> org.jenkinsci.plugins.rootactionexampleplugin.MyRootAction.getUrlName() >> for url=/urlName/... >> <li> >> org.jenkinsci.plugins.rootactionexampleplugin.MyRootAction.getBuildGoals() >> for url=/buildGoals/... >> <li> >> java.lang.Object.getClass() for url=/class/... >> </ol> >> </body></html> >> >> The code which generates this request is on github ( >> https://github.com/nilleb/jenkins-plugins/tree/master/ >> rootaction-example-plugin). >> >> Tomorrow, maybe. >> >> Thanks, have a good evening. >> >> Il giorno lun 9 feb 2015 20:00 Ulli Hafner <[email protected]> ha >> scritto: >> >> https://wiki.jenkins-ci.org/display/JENKINS/Figuring+out+URL >>> +binding+of+Stapler >>> >>> Am 09.02.2015 um 17:11 schrieb Ivo Bellin Salarin < >>> [email protected]>: >>> >>> Hi, >>> >>> I can't figure out why my doFillXXXItems aren't being called. >>> >>> Is there some way to log/debug jelly<-->Descriptor interactions? >>> >>> Thanks in advance, >>> Ivo >>> >>> -- >>> 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 [email protected]. >>> To view this discussion on the web visit https://groups.google.com/d/ms >>> gid/jenkinsci-dev/CAPc4eF_3ZaTwMJWPK_--s1fLViFEm5YY0o8UfcfF% >>> 3D5YhmRRkNQ%40mail.gmail.com >>> <https://groups.google.com/d/msgid/jenkinsci-dev/CAPc4eF_3ZaTwMJWPK_--s1fLViFEm5YY0o8UfcfF%3D5YhmRRkNQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >>> >>> >>> -- >>> 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 [email protected]. >>> To view this discussion on the web visit https://groups.google.com/d/ms >>> gid/jenkinsci-dev/1F5EA278-2094-4225-AB32-3A575D9BD61E%40gmail.com >>> <https://groups.google.com/d/msgid/jenkinsci-dev/1F5EA278-2094-4225-AB32-3A575D9BD61E%40gmail.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> 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 [email protected]. >> >> To view this discussion on the web visit https://groups.google.com/d/ >> msgid/jenkinsci-dev/CAPc4eF-bZx%3Dn78N3QzrXO5- >> DiPM4Hh08A5srFnVBCB-MgGxT5Q%40mail.gmail.com >> <https://groups.google.com/d/msgid/jenkinsci-dev/CAPc4eF-bZx%3Dn78N3QzrXO5-DiPM4Hh08A5srFnVBCB-MgGxT5Q%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> >> >> For more options, visit https://groups.google.com/d/optout. >> >> -- >> 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 [email protected]. >> To view this discussion on the web visit https://groups.google.com/d/ >> msgid/jenkinsci-dev/B5F356C5-65F7-4155-9DAA-AD4A7FD12A50%40gmail.com >> <https://groups.google.com/d/msgid/jenkinsci-dev/B5F356C5-65F7-4155-9DAA-AD4A7FD12A50%40gmail.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAPc4eF_g1dW%2BAgyiJOfAFr7-S4S1Bm6J6UF7%3Dk8JhYvFLrujjA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
