Artifactory 是否可以自动设置人工制品属性?

Artifactory 是否可以自动设置人工制品属性?,artifactory,Artifactory,Artifactory似乎自动为RPM、Python轮子等生成属性。我可以为自己的文件格式扩展此函数吗 我已经阅读了文档,本文讨论了RESTAPI等,但是我想让Artifactory直接从我上传的文件中提取属性 还没有-我在问如何。自动为RPM等生成属性的逻辑被硬编码到Artifactory支持的每个包类型中,并且您不能添加自定义存储库类型 您所能做的是编写一个在上传文件、读取文件和添加适当属性时运行的。例如: storage { afterCreate { item ->

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

我已经阅读了文档,本文讨论了RESTAPI等,但是我想让Artifactory直接从我上传的文件中提取属性


还没有-我在问如何。

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

您所能做的是编写一个在上传文件、读取文件和添加适当属性时运行的。例如:

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
  • 用户插件文档是
  • 用户插件API Javadoc是
  • 作为参考,官方支持的插件都是

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

您所能做的是编写一个在上传文件、读取文件和添加适当属性时运行的。例如:

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
  • 用户插件文档是
  • 用户插件API Javadoc是
  • 作为参考,官方支持的插件都是