5

使用postman,我已成功通过他们的 REST API 在 bitbucket 中创建分支并使用下面的指南

Bitbucket Rest API 指南

但我也无法使用相同的指南删除分支。

我创建了一个 JSON 并将其放在POSTMAN的正文选项卡中,然后使用DELETE作为 HTTP 方法,但没有成功。

我收到错误405 - Method Not Allowed,这是什么意思?我的请求是否通过但我不被允许?

使用 bitbucket Web UI,我可以删除和创建分支。

编辑:

这是邮递员生成的 CURL

curl -X DELETE https://<url>/rest/api/1.0/projects/<abc>/repos/<xyz>/branches 
-H 'authorization: Bearer xxxxxx' -H 'cache-control: no-cache' 
-H 'content-type: application/json'  
-H 'x-atlassian-token: nocheck' 
-d '{"name": "refs/heads/feature/name","dryRun": false}'
4

1 回答 1

11

看起来您使用的 REST 端点不正确,它不接受DELETEHTTP 动词。您正在使用的是:

/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/branches

根据文档,此端点仅接受GETs 和POSTs

从你的电话格式来看,我猜你真正想要的是这样的:

/rest/branch-utils/1.0/projects/{projectKey}/repos/{repositorySlug}/branches

branch-utils API 文档或多或少地描述了您尝试使用的确切有效负载。

再深入一点,我相信这个错误不是你的错。Bitbucket 5.8 及以下版本的 Bitbucket 分支实用程序文档显示了正确的 URL 路径,但对于 5.9 及更高版本,该路径似乎丢失了

全面披露:我为 Atlassian 工作。既然如此,我会追究并纠正它:)

编辑:文档已被修复!

于 2018-05-13T10:59:22.433 回答