как загрузить zip-файлы RAW в репозиторий Nexus с использованием api и python

#python #api #maven #nexus

#python #API #maven #nexus

Вопрос:

Мне нужно загрузить некоторые zip-файлы в репозиторий, мы используем Raw, поскольку это просто файлы, которые позже мы загрузим, и мы сохраняем их только для управления версиями

итак, у меня есть локальный zip-файл и репозиторий в nexus, как я могу загрузить его с помощью API, нужно ли мне сначала создать папку в репозитории? или, когда я загружаю файл, я могу указать путь, и API создаст структуру папок в Nexus и поместит туда zip-файл?

я пытался понять, но показывает mavens и другое программное обеспечение

https://help.sonatype.com/repomanager3/rest-and-integration-api/assets-api

спасибо, ребята.

Ответ №1:

Я не смог найти хороший способ узнать, как передавать аргументы, поэтому я сделал это с помощью api https://my_site.net/swagger-ui/#/components/uploadComponent а затем я скопировал завиток в https://curl.trillworks.com/#python и убрал то, что было не нужно, в итоге я остался с надеждой, что это сработает для кого-то в будущем.

 import requests
files = {
    'raw.directory': (None, 'testing/testing2'),  # folder structure you want in nexus
    'raw.asset1': (open('path/to/your/file.zip', 'rb')),
    'raw.asset1.filename': (None, 'desire_name.zip'),  # this is the name you want to see in nexus
}
response = requests.post('https://my_site/service/rest/v1/components?repository={repo_name}'.format(repo_name="your_repo"), files=files, auth=(NEXUS_USER, NEXUS_PASSWORD), verify=False)