1

我正在尝试更新工件的属性(在我的示例文本文件中)

我尝试了 API https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-UpdateItemProperties

这是我尝试过的:

curl -X PATCH -uadmin:password -H '"props":{"ccs_x1_version": "7.7.7.7"}' " http://XXXXXXXXX:8081/artifactory/maven-dev-local/com/test/sbom/ 2.0.0-SNAPSHOT/sbom-2.0.0-20180704.094719-1.txt "

但没有成功,因为命令没有返回任何内容,有人可以帮助我找出正确的用法。

4

1 回答 1

3

看起来您缺少使用 UpdateItemProperties 的 API 端点。您还将数据作为格式错误的 JSON 作为标头而不是数据发送。

您需要添加端点:/api/metadata/并将您的数据重新格式化为正确的 JSON。

{ "props" : { "ccs_x1_version": "7.7.7.7" } }

根据提供的链接:

: 6.1.0

安全性:需要特权用户(需要注释授权)

用法:PATCH /api/metadata/{repoKey}/{itemPath}?[&recursive=1]

产生:应用程序/json

样品用法:

PATCH /api/metadata/libs-release-local/org/acme?[recursive=1] { "props":{ "newKey": "newValue", "existingKey": "modifiedValue", "toBeRemovedKey": null } }

如果您将请求更新为curl -X PATCH -uadmin:password -d '{"props":{"ccs_x1_version": "7.7.7.7"}}' "http://XXXXXXXXX:8081/artifactory/api/metadata/maven-dev-local/com/test/sbom/2.0.0-SNAPSHOT/sbom-2.0.0-20180704.094719-1.txt"

这也是一个新的 rest 端点,仅适用于最新版本的 artifactory 6.1.0。如果您运行的是旧版本,您将不得不使用官方 JFrog 文档中的先前端点(设置项目属性)。

这是格式化的curl -X PUT -uadmin:password "http://XXXXXXXXX:8081/artifactory/api/storage/maven-dev-local/com/test/sbom/2.0.0-SNAPSHOT/sbom-2.0.0-20180704.094719-1.txt?properties=ccs_x1_version=7.7.7.7"

于 2018-07-05T14:33:10.903 回答