jelly
jelly页面修改后会,不需要重新编译,再次访问即可更新。
jelly文件会关联一个类,定义这样的一个方法:
public String getMyString() {
    return "Hello Jenkins!";
}
使用jelly关键字it,it是jelly关联的那个类的引用,可以通过it.去调用方法:
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout"
         xmlns:t="/lib/hudson" xmlns:f="/lib/form">
    ${it.myString}
</j:jelly>
这种方法我试了没有成功,不知道是不是姿势不对
field例子:
<f:entry title="${%Port}" field="port">
    <f:textbox />
</f:entry>
${%...}表示国际化字符,field的值是类中的属性或方法,filed的值会填入textbox,f:entry是一行区域的内容
对某个field的帮助信息可在jelly文件同路径创建help-FIELD.html文件,对上面的例子就应该是help-port.html
校验表单,使用注解@QueryParameter后才会和前端表单输入关联
public FormValidation doCheckPort(@QueryParameter String value) {
    if(looksOk(value))  return FormValidation.ok();
    else                return FormValidation.error("There's a problem here");
}
如果类没有实现Descriptors接口,则需要重写configure(StaplerRequest req, JSONObject formData)方法,
点击保存按钮会触发该方法,configure方法中使用optInt方法来获取用户的配置值,如formData.optInt("port", 3141),
在configure方法中再调用save()方法保存设置的值,在构造函数中调用load()方法。