在Artifactory用户插件中获取文件内容

Kho*_*zzy 0 plugins repository artifactory

是否可以在用户插件中的beforeCreate事件期间(在将文件保存到存储库之前)获取文件内容?

我正在运行Artifactory 4.3.1.

代码段:

import org.artifactory.fs.FileInfo

storage {
  beforeCreate { item ->
    item = item as FileInfo

    log.warn "Analyzing item: ${item}"
    // I want to do something with the file/item contents here (for example extract ZIP)
  } 
}
Run Code Online (Sandbox Code Playgroud)

感谢帮助!

Dar*_*nec 5

可悲的是,这目前无法实现.猜测,这可能是允许用户插件在文件上传之前拒绝部署(即通过Expect: 100-Continue标题),但我还没有深入了解代码以确定.

如果你需要从插件访问文件内容,我建议使用afterCreate钩子,然后获取输入流,如:

InputStream is = repositories.getContent(item.repoPath).inputStream
Run Code Online (Sandbox Code Playgroud)

当然,在这种情况下,你不能像beforeCreate钩子一样拒绝上传,但如果需要,你总是可以删除工件.

  • 我不确定它实际上是"悲伤".它不是正确使用的钩子.'beforeCreate`现在为时尚早,无法获取内容:) (6认同)