首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用它们的REST和python-请求将POST钩子添加到bitbucket存储库中。

使用它们的REST和python-请求将POST钩子添加到bitbucket存储库中。
EN

Stack Overflow用户
提问于 2015-04-15 18:09:22
回答 1查看 785关注 0票数 2

我试图在bitbucket存储库中添加一个POST钩子,但每次尝试都会得到404个结果。

我在做:

代码语言:javascript
复制
payload = {'type': 'POST', 'URL': announce_post_hook}
content_type = {"Content-Type": "application/json"}
request_url = 'https://api.bitbucket.org/1.0/repositories/{repo_owner}/{repo_slug}/services/'                       
request_url = request_url.format(repo_owner=repo_owner, remote_url=remote_url)
requests.post(request_url, auth=(repo_user, repo_pass), data=json.dumps(payload), headers=content_type)

我还尝试使用这个URL:

代码语言:javascript
复制
https://bitbucket.org/api/1.0/repositories/{repo_owner}/{repo_slug}/services/

因为这是api的不同部分中列出的(例如,我使用api.bitbucket.org而不是bitbucket.org/api/来设置部署密钥)。

如果我试着用卷发来做它,如:

curl -X POST -u user:pass https://api.bitbucket.org/1.0/repositories/repowner/reposlug/services/ --data "type=POST&URL=https://hooks.urladdress.com"

那就行了。但是试图通过python-请求(如在另一个api调用中)来实现它将失败.

有人知道这是怎么回事吗?它只会响应没有找到资源,这似乎是不正确的(因为它通过curl工作)

发现this问题有一个非常相似的问题,但没有答案.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-16 18:39:45

作为将来的参考,如果有人有同样的问题,显然这个特定的端点不接受json编码的数据。

所以这个请求必须是

代码语言:javascript
复制
requests.post(request_url, auth=(repo_user, repo_pass), data='type=POST&URL=hooks.url.com')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29657638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档