Most of the the jelly files in the Jenkins source have embedded documentation. See IDE Configuration for details on how to get this setup so you can click through to it in your IDE.
For example you can see the embedded documentation of the <form> tag .
You can also have a look at the referenced design-library-plugin, this repository contains executable examples of user interface elements, including forms. You can also check the live version in weekly.ci.jenkins.io/design-library
This tag creates a right-aligned button for performing server-side validation. It is suitable for situations where the validation depends on the values of multiple input fields, such as credential check that uses both username and password.
The title attribute is used to determine the text written on the button. The progress attribute determines the message displayed while the server-side validation is in progress. The method attribute specifies the server-side method invoked by this button; this follows the stapler name mangling convention, so for example method="testConnection" will invoke the doTestConnection method. This method needs to be on the Descriptor class that owns this form fragment.
The with attribute specifies the input fields sent to the server for the validation. They are matched against the field attribute or the name attribute of other input controls. The values of the nearest input fields above the <f:validateButton/> are sent to the server, so this means the button has to come after the input fields. Multiple fields can be specified by using ','.
On the server side, this tag invokes the standard "do"-style method like this:
The doTestConnection method contains the validation logic. In the end, this method has to call either FormValidation.ok, .warning, or .error method. Depending on which method you use, the appropriate HTML will be rendered on the client side to indicate the status to the user.
<div>
This is my content to help the end user understanding how to use this field.
</div>
html
Will automatically display the help button with the <div>…</div> content.
Additional notes on inline help
Most controls support help.html as overall help for the Describable.
The help message can be overridden in jelly with the help attribute, but please use the convention help-fieldName.html as much as possible.
It is also possible to use localized help files, with the language specific suffix, so help-fieldName.html gets help-fieldName_de.html for the german version.
<f:entrytitle="This is a nice Title"help="/plugin/my-plugin/help/custom-file.html">