Defines a parameter for a build.
这里介绍一下 几个 createValue() 方法, 这些都是抽象方法,需要子类去实现的
/**
* Create a parameter value from a form submission.
*
* <p>
* This method is invoked when the user fills in the parameter values in the HTML form
* and submits it to the server.
*/
@CheckForNull
public abstract ParameterValue createValue(StaplerRequest req, JSONObject jo);
这个方法就是在jenkins 的job上 点击 Build with Parameters 时候会调用到这个方法里面.
/**
* Create a parameter value from a GET with query string.
* If no value is available in the request, it returns a default value if possible, or null.
*
* <p>
* Unlike {@link #createValue(StaplerRequest, JSONObject)}, this method is intended to support
* the programmatic POST-ing of the build URL. This form is less expressive (as it doesn't support
* the tree form), but it's more scriptable.
*