上記の実際の質問 (つまり、記述子なし) に答えるには、検証に必要なフィールドwith
をf:validateButton
(コンマ区切り) の属性に指定し、method
属性を次のようなものに設定します...
method="${it.fullURL}triggerOfficial"
...そして、Java(it
)にはメソッドがあります...
public String getFullURL(){
return Stapler.getCurrentRequest().getOriginalRequestURI().substring(1);
}
...そして、検証自体を実行する方法も...
public FormValidation doTriggerOfficial() {
return FormValidation.ok("hello");
}
ただし、通常は記述子を持たないクラス型で通常のフィールド検証 (validateButton なし) を実行する場合は...
implements Describable<YourClassName>
1)クラス署名に追加
2) このようなものを追加します...
@SuppressWarnings("unchecked")
@Override
public Descriptor<ConfigLink> getDescriptor() {
Jenkins jenkins = Jenkins.getInstance();
if (jenkins == null) {
throw new IllegalStateException("Jenkins has not been started");
}
return jenkins.getDescriptorOrDie(getClass());
}
3) プラス内部クラス (通常のdoCheckXXX
メソッドを使用)
@Extension
public static final class DescriptorImpl extends Descriptor<YourClassName> {...}
4) 最後に、自動検証したいフォーム要素を含むタグに、jelly add 属性でリンクします (これにより、ステップ 2 のdescriptor="${it.descriptor}"
詳細が呼び出されます)。f:form
getDescriptor