【问题标题】:Path functions available to Jelly script?Jelly 脚本可用的路径函数?
【发布时间】:2011-01-13 15:33:06
【问题描述】:

我希望能够将 directoryfile 名称与 Hudson/Jenkins 的 jelly 脚本中的完整路径分开。

例如,如果我有/dir1/dir2/dir3/file.ext,我想(在果冻脚本中)访问/dir1/dir2/dir3file.ext

getPath() 和 getName() 等 java io 函数是否可用于 jelly 脚本?

【问题讨论】:

    标签: hudson jenkins jelly


    【解决方案1】:

    Dion Gillard 的Jelly: Executable XML 牌组对解决这个问题非常有帮助。从幻灯片中我了解到invoke(和invokeStatic)标签正是我所需要的。 Apache FilenameUtils class 有一些非常好的静态方法来处理文件名,它包含在 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

    【讨论】:

    • 这有助于我在 Jenkins 插件开发中处理正则表达式。
    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 2018-09-21
    • 2014-10-04
    • 2011-01-10
    相关资源
    最近更新 更多