我正在尝试使用Python3脚本中的请求来更新具有写入权限的gitlab项目中的部署密钥。不幸的是,尝试通过请求模块进行连接时,我收到404错误。代码如下:
project_url = str(url)+('/deploy_keys/')+str(DEPLOY_KEY_ID)
headers = {"PRIVATE-TOKEN" : "REDACTED"}
payload = {"can_push" : "true"}
r = requests.put(project_url, headers=headers, json=payload)
print(r)
我的私钥/标题的语法在哪里做错了?
我已经通过gitlab api并要求提供文档。我还确认了我的私有令牌正在脚本之外运行。
我希望它使用写访问权限来更新部署密钥,但是在退出时会收到一个,使我认为问题出在标头/身份验证上。
答案 0 :(得分:0)
此问题已解决,实际上不是身份验证问题。您必须使用项目ID而不是url,例如:
project_url = f'https://git.REDACTED.com/api/v4/projects/{project_id}/deploy_keys/{DEPLOY_KEY_ID}'
headers = {"PRIVATE-TOKEN" : "REDACTED"}
payload = {'can_push' : 'true'}
try:
r = requests.put(project_url, headers=headers, data=payload)