是否有使用REST的方法,但避免aql在Artifactory中获取特定的自定义属性值。 工件名称,仓库和属性密钥是已知的。 获取工件路径根本不显示自定义属性。
有什么建议吗?
答案 0 :(得分:7)
您正在寻找的是名为Artifactory REST API - Item Properties
的链接这就是REST的样子:
$ curl -uadmin:password "http://localhost:8081/artifactory/api/storage/repository/path/to/file.jar?properties"
此REST API将返回工件属性。现在,为了获取特定属性,您需要在REST中传递它,如下所示:
$ curl -iuadmin:password "http://localhost:8081/artifactory/api/storage/repository/path/to/file.jar?properties=build.name"
在上面的REST中,我将获得名为“build.name”的属性的值。您可以使用您需要的任何密钥替换它。
答案 1 :(得分:0)
只需尝试一下:
curl --silent --show-error "http://your-artifactory-server:8081/artifactory/api/storage/my_repo/some_path1/some_path2/artifact_file.txt?properties
它将输出:
{
"properties": {
"prop1": [ "value1" ],
"prop2": [ "value2" ],
...
....
},
"uri": "http://your-artifactory-server:8081/artifactory/api/storage/my_repo/some_path1/some_path2/artifact_file.txt"
}
如果要获取给定属性的值,请尝试以下操作:
curl --silent --show-error "http://your-artifactory-server:8081/artifactory/api/storage/my_repo/some_path1/some_path2/artifact_file.txt?properties | grep "prop2" | sed "s/[\"\[ ,]//g;s/]//g" | cut -d':' -f2