Как обновить свойства элемента в артефакте с помощью REST API

Я пытаюсь обновить свойство артефакта (в моем случае образец текстового файла)

Я попробовал 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 "

но не удалось, так как команда ничего не возвращает, может ли кто-нибудь помочь мне определить правильное использование.


person Bhanu Dagani    schedule 05.07.2018    source источник


Ответы (1)


Похоже, вам не хватает конечной точки API для использования UpdateItemProperties. Вы также отправляете данные в виде искаженного JSON в качестве заголовка, а не данных.

Вам нужно добавить конечную точку: /api/metadata/ и переформатировать данные в правильный JSON.

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

По предоставленной ссылке:

Начиная с: 6.1.0

Безопасность: требуется привилегированный пользователь (требуется авторизация для добавления аннотаций).

Использование: PATCH / api / metadata / {repoKey} / {itemPath}? [& recursive = 1]

Производит: application / 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"

Это также новая конечная точка отдыха, которая доступна только в последней версии 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"

person RGG    schedule 05.07.2018
comment
Нам нужно указать тип содержимого в заголовках, более правильный способ: curl -H Content-Type: application / json -X PATCH -u admin: password -d '{props: {newprop: wohooo}}' somedoamin.com:8081/artifactory/api/metadata/maven-dev-local/ - person Bhanu Dagani; 10.07.2018