Thanks!!!!
This helped me a lot.

On Monday, August 31, 2015 at 12:48:12 PM UTC+3, Daniel Beck wrote:
>
>
> > On 31.08.2015, at 01:27, Gilad Baruchian <[email protected] 
> <javascript:>> wrote: 
> > 
> > I am new to plugin development in jenkins and I am currently looking at 
> the "HelloWorldBuilder" plugin. 
> > the plugin has a inner static final class with "@Extension" annotation 
> that extends BuildStepDescriptor<Builder>, I don't really understand what 
> is the purpose of this class, and who is using it. 
>
> This is what makes the build step known to Jenkins. 
>
> I think of Descriptor/Describable similar to class and object —- you can 
> have dozens of the same build step, but they all share the same descriptor 
> (and it’s the descriptor you select in the job configuration dropdown, what 
> you get is the describable), which contains shared configuration and data 
> common to all the instances. 
>
> > Also I would like to know from where the method "public FormValidation 
> doCheckName(@QueryParameter String value)" is called to validate the user 
> input. 
>
> This magic is provided by the form elements in Jenkins core and how to use 
> it is documented on 
> https://wiki.jenkins-ci.org/display/JENKINS/Form+Validation 
>
> For more details, see prepareDatabinding.jelly (used by most form 
> elements), which calls Functions.calcCheckUrl(…), which calls 
> Descriptor.getCheckMethod(String), which uses FormValidation.CheckMethod in 
> core. Those use reflection to determine whether a method with the expected 
> name for a given form field exists, and if so, will define 'checkUrl‘ for 
> use in Jelly — and the tag definition (e.g. checkbox.jelly) does the rest, 
> resulting in an attribute added to the HTML tag that indicates it can be 
> validated. If that attribute is set, registerValidator in 
> hudson-behavior.js will cause the URL to be called from the browser, and 
> Stapler’s URL binding[1] does the rest, resulting in an HTTP call to that 
> method. 
>
> 1: http://stapler.kohsuke.org/reference.html 
>
>

-- 
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/263f6515-231e-44e6-aae5-1f36a5f164b2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to