Artifactory REST API:如何找到工件的构建?

Artifactory REST API: How can I find builds for an artifact?

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

连接在 Artifactory Web UI 中公开(即我可以单击 "Builds" 选项卡获取工件),但我似乎找不到正确的 API或 AQL 通过 REST API.

做同样的事情

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

在 4.2 中你可以这样写:

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

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

例如:

$ 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"
  ...
}