是否可以自动设置 Artifactory 属性?

Is it possible to automate setting of Artifactory properties?

Artifactory 似乎会自动为 RPM、Python 轮子等生成属性。我可以为我自己的文件格式扩展此功能吗?

我已经阅读了文档和关于 REST API 等的讨论,但我想让 Artifactory 直接从我正在上传的文件中提取属性。

None 还没 - 我在问怎么办。

自动为 RPM 等生成属性的逻辑被硬编码到 Artifactory 支持的每个包类型中,您无法添加自定义存储库类型。

可以 做的是编写一个user plugin,它在上传文件时运行、读取文件并添加适当的属性。例如:

storage {
    afterCreate { item ->
        if (!item.isFolder() && item.name.endsWith(".customext")) {
            def fstream = repositories.getContent(item.repoPath).inputStream
            // read fstream and generate properties
            repositories.setProperty(item.repoPath, propName, propVal)
        }
    }
}

一些注意事项:

  • 语言是Groovy。如果您不熟悉 Groovy,在紧要关头您可以假装它是 Java,因为大多数 Java 也是有效的 Groovy.
  • 用户插件文档是here
  • 用户插件APIJava文档是here
  • 供参考,官方支持的插件都是here