Hudson/Jenkinsのゼリースクリプトでディレクトリとファイル名をフルパスから分離するなどのことができるようにしたいと思います。
たとえば、 (ゼリースクリプトで)と/dir1/dir2/dir3/file.ext
にアクセスしたい場合。/dir1/dir2/dir3
file.ext
getPath()やgetName()などのJava io関数をジェリースクリプトで使用できますか?
Dion Gillard's Jelly:実行可能XMLデッキは、これを整理するのに非常に役立ちました。スライドから、まさに必要なものであるinvoke(およびinvokeStatic )タグについて学びました。Apache FilenameUtilsクラスには、ファイル名を処理するための非常に優れた静的メソッドがいくつかあり、Hudsonに含まれています。
<j:jelly xmlns:j="jelly:core">
<j:set var="fullpath" value="/dir1/dir2/dir3/file.ext"/>
<!-- get the path without the filename -->
<j:invokeStatic var="justpath" method="getPath" className="org.apache.commons.io.FilenameUtils">
<j:arg value="${fullpath}"/>
</j:invokeStatic>
<!-- get just the filename -->
<j:invokeStatic var="justname" method="getName" className="org.apache.commons.io.FilenameUtils">
<j:arg value="${fullpath}"/>
</j:invokeStatic>
</j:jelly>
上記の例では、justpathはに設定され/dir1/dir2/dir3/
、justnameはに設定されfile.ext
ます。