Как обновить свойства элемента в артефакте с помощью REST API
Я пытаюсь обновить свойство артефакта (в моем случае образец текстового файла)
Я попробовал API https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API
вот что я попробовал:
curl -X PATCH -uadmin: пароль -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"
но не увенчался успехом, так как команда ничего не возвращает, может кто-нибудь помочь мне определить правильное использование.
1 ответ
Похоже, вам не хватает конечной точки API для использования UpdateItemProperties. Вы также отправляете данные в виде искаженного JSON в виде заголовка, а не данных.
Вам нужно добавить конечную точку: /api/metadata/
и переформатировать ваши данные в правильный JSON.
{
"props" : {
"ccs_x1_version": "7.7.7.7"
}
}
По предоставленной ссылке:
С тех пор: 6.1.0
Безопасность: требуется привилегированный пользователь (требуется авторизация Annotate)
Использование: 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"
Это также новая конечная точка отдыха, которая доступна только в последней версии артефакта 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"