Проблема загрузить файл в Gitlab с помощью python-gitlab - PullRequest
0 голосов
/ 14 сентября 2018

Я пытаюсь загрузить файл в мой репозиторий gitlab следующим образом:

x = project.upload("Jenkinsfile", filepath="./Jenkinsfile") однако это не работает для меня, поэтому

x1 = project.upload("Jenkinsfile", filepath="/media/conde/Trabajo/Trabajo/DevOps/BOMH/bomh/Jenkinsfile"), не работает, давайте попробуем пример документации, потому что ему не нужен путь к файловой системе, поэтому он должен хотя бы создать новый пустой файл:

x2 = project.upload("filename.txt", filedata="data")

Но файл никогда не загружается. Выход каждой команды: x={'url': '/uploads/c52cf003900c7afe6843909317049cc3/Jenkinsfile', 'markdown': 'Jenkinsfile', 'alt': 'Jenkinsfile'}

x1 = {'url': '/uploads/c52cf003900c7afe6843909317049cc3/Jenkinsfile', 'markdown': 'Jenkinsfile', 'alt': 'Jenkinsfile'}

x2 = {'url': '/uploads/3c2a389555609ba08c3bd54bee0e7339/filename.txt', 'markdown': 'filename.txt', 'alt': 'filename.txt'}

Что не так, документация, API? Я могу создать репозиторий, ветви и создать несколько файлов, но не загружать файл с моего компьютера.

1 Ответ

0 голосов
/ 18 сентября 2018

Правда, описанная в документации, может быть немного неоднозначной, вопрос в том, что функция project.upload не загружает файл в удаленный репозиторий в Gitlab, просто загружает файл в проект, если вы хотите напрямую загрузить любой исходный файл (например, я автоматически создаю исходный репозиторий gitlab с некоторыми файлами для проекта, использующего python-gitlab), божественное решение - перенести содержимое из вашего локального файла в новый файл, который вы создаете. В моем случае я сделал это:

with open('./file_to_upload', 'r') as my_file:
    file_content = my_file.read()
f = project.files.create({'file_path': 'template.json',
                              'branch': 'master',
                              'content': file_content,
                              'author_email': 'test@example.com',
                              'author_name': user_nick,
                              #'encoding': 'utf-8',
                              'commit_message': 'Create template.json'})
...