【问题标题】:Artifactory REST API: How can I find builds for an artifact?Artifactory REST API:如何找到工件的构建?
【发布时间】:2016-01-11 22:55:22
【问题描述】:

如何在 Artifactory 中找到给定工件的构建? 这是在 Artifactory Pro 3.9.x 中。 工件是在 jenkins 上创建的,并通过 Jenkins/Artifactory 插件推送到 Artifactory。

连接在 Artifactory Web UI 中公开(即,我可以单击工件的“构建”选项卡),但我似乎无法通过 REST API 找到正确的 API 或 AQL。

【问题讨论】:

    标签: artifactory


    【解决方案1】:

    从 4.2 版开始,您可以在 AQL 中查询构建。

    使用 4.2,您可以编写如下内容:

    builds.find({"module.artifact.item.name": "artifactory.war"})
    

    【讨论】:

      【解决方案2】:

      对于早于 4.2 且不支持 AQL 中的构建域的 Artifactory 版本,您可以通过从 build.namebuild.number 属性获取此信息来找到工件构建。使用 Artifactory 构建集成部署的任何工件都使用这两个属性进行注释。

      例如:

      $ curl -uadmin:password http://localhost:8081/artifactory/api/storage/libs-snapshot-local/org/jfrog/test/multi1/3.5-SNAPSHOT/multi1-3.5-20160112.080623-1.jar?properties=build.name,build.number
      
      {
        "properties" : {
          "build.name" : [ "maven-example" ],
          "build.number" : [ "8" ]
        },
        "uri" : "http://localhost:8081/artifactory/api/storage/libs-snapshot-local/org/jfrog/test/multi1/3.5-SNAPSHOT/multi1-3.5-20160112.080623-1.jar"
      }
      

      获得构建名称和编号后,您可以使用Build Info REST API 获取构建信息。

      例如:

      $ curl -u admin:password http://localhost:8081/artifactory/api/build/maven-example/8
      {
        "buildInfo" : {
          "version" : "1.0.1",
          "name" : "maven-example",
          "number" : "8"
        ...
      }
      

      【讨论】:

      • 谢谢 - 这正是我一直在寻找的,并且适用于我的用例。
      猜你喜欢
      • 2013-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      相关资源
      最近更新 更多