看起来您缺少使用 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"