Jenkinsプラグインを作成する際のJellyテンプレート作成でのハマりポイントをメモしておきます。
順次追記していきます。

if/elseを使いたい

<j:if></j:if>はありますが<j:else>や<j:elseif>はないようです。

<j:if></j:if>を使用するか<j:when></j:when><j:otherwise></j:otherwise>を使うといいと思います。

 

repeatableタグ内のフォーム要素のhelpファイル

Jenkinsの管理画面ではフォーム要素の右側にクエスチョンマークが出て、クリックするとヘルプファイルを表示することができます。
通常はhelp-フォームのname属性.htmlという名前でhelpファイルを作成し、.javaファイルと同列に転がすと自動的にリンクされますが、repeatableタグを使用した場合、その中のフォーム要素でのヘルプファイルはこの命名規則が当てはまりません。

のように任意のhelpファイルを指定するようにします。 作成したhelpファイルはsrc/webapp/以下に設置するようにします。    

repeatableタグ内のフォーム要素でFormValidationが効かない

フォームのバリデーション用メソッドはdoCheckName()という名前で作成しますが、repeatableタグ内のフォーム要素にはこの法則が当てはまらないようです。 以下のように任意のバリデーションメソッドを使用するようにします。

プルダウンメニューで選択し保存された値が正しく表示できない

プルダウンメニューで、保存時の値を選択状態にしたい場合、公式プラグインでも以下のようにしている例を見ます。
しかしこの記述では描画されたHTMLではselected=”true”のように描画されてしまい、ブラウザによっては動作しないと思われます。

<f:option value=”chef” selected=’${instance.tool==”chef”}’>Chef</f:option>

<option selected=”true”>Chef</option>

そのため、私はwhen/otherwiseを使用して以下のように記述しました。

テンプレート中で外部CSSを参照したい

以下のようにテンプレートに記述すればOK。

JenkinsのActionクラスを拡張して「ビルド後の画面」を作成した場合に、左メニューが出ない

以下のようにsidepanel.jellyをincludeしてください。

repeatabledeletebuttonが出ない

という現象に遭遇しましたが、<f:entry></f:entry>で括ってやらないと駄目です。

repeatabledeletebuttonの説明

関連記事

コメント一覧

コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スパム防止のため下の計算結果を入力して下さい *

ページの先頭へ