在 Artifactory 用户插件中获取文件内容
Getting file contents in Artifactory user plugin
是否可以在用户插件的 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)
}
}
感谢帮助!
遗憾的是,这目前是不可能的。猜测,这可能是为了允许用户插件在文件上传之前拒绝部署(即通过 Expect: 100-Continue
header),但我还没有深入了解代码以了解当然可以。
如果您需要从插件访问文件内容,我建议使用 afterCreate
挂钩,然后获取输入流,如:
InputStream is = repositories.getContent(item.repoPath).inputStream
当然,在这种情况下,您不能像在 beforeCreate
挂钩中那样拒绝上传,但如果需要,您可以随时删除工件。
是否可以在用户插件的 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)
}
}
感谢帮助!
遗憾的是,这目前是不可能的。猜测,这可能是为了允许用户插件在文件上传之前拒绝部署(即通过 Expect: 100-Continue
header),但我还没有深入了解代码以了解当然可以。
如果您需要从插件访问文件内容,我建议使用 afterCreate
挂钩,然后获取输入流,如:
InputStream is = repositories.getContent(item.repoPath).inputStream
当然,在这种情况下,您不能像在 beforeCreate
挂钩中那样拒绝上传,但如果需要,您可以随时删除工件。