python - 使用 API 在 gitlab 中添加项目头像
问题描述
在从 gitswarm 迁移到 gitlab 的过程中,我们丢失了所有项目的头像。我正在尝试通过 python 脚本恢复它们,但是虽然很清楚如何通过项目设置 API 设置头像的路径,但我不明白如何上传头像。我搜索了 GitLab API 文档,但找不到任何东西。有人能帮助我吗?
PS:GitLab API:上传项目头像没有帮助,因为没有人解释上传命令
解决方案
最后,我能够通过 api 和 python 请求上传项目的头像。无需先上传文件再设置url,只需使用“编辑项目”api即可:
import requests
filename = 'avatar.png'
baseUrl = 'https://gitlabrepositoryaddress.com'
url = baseUrl + '/api/v4/projects/' + str(id)
up = {'avatar':(filename, open(filename, 'rb'), 'multipart/form-data')}
authHeader = {'PRIVATE-TOKEN': 'XXXXXXXXXX'}
request = requests.put(url, files=up, headers=authHeader)
api的参考在这里:https ://docs.gitlab.com/ee/api/projects.html#edit-project
我希望这可以帮助别人
推荐阅读
- mongodb - $lookup to an array in MongoDB
- c# - 使用对象和方法将文本存储到由分隔符分隔的列表中
- haskell - Haskell 中的可变参数函数类型类
- docker - 将容器安装到我的部署中时,如何避免“权限被拒绝”错误?
- javascript - 将输入隐藏值复制到使用 JS 隐藏的其他输入
- android - getExternalFilesDir(Environment.DIRECTORY_PICTURES) 在某些 Android 9 和 10 设备中不起作用
- android - 使用带有列表的 TypeConverter 更新 Room 字段时出错
- bash - 用于将屏幕截图从桌面移动到文件夹的 Bash 脚本
- python - http请求响应不是json格式
- javascript - 无法从 html 字符串将 html 加载到 webview 中