Как обновить свойства элемента в артефакте с помощью 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"

Другие вопросы по тегам