使用 python-gitlab 将文件上传到 Gitlab 的问题
Problem to upload a file to Gitlab using python-gitlab
我正在尝试使用这种方式将文件上传到我的 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?
我可以创建存储库、分支并创建一些文件,但不能从我的计算机上传文件。
文档中描述的真相可能有点模棱两可,问题是函数project.upload在Gitlab中不是上传文件到远程仓库,只是上传文件到项目,如果你想直接上传任何初始文件(像我一样,我使用 python-gitlab 自动创建一个初始 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'})
我正在尝试使用这种方式将文件上传到我的 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? 我可以创建存储库、分支并创建一些文件,但不能从我的计算机上传文件。
文档中描述的真相可能有点模棱两可,问题是函数project.upload在Gitlab中不是上传文件到远程仓库,只是上传文件到项目,如果你想直接上传任何初始文件(像我一样,我使用 python-gitlab 自动创建一个初始 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'})