BitBucket API:如何从存储库UUID获取分支列表

3

到目前为止,BitBucket API 是一次有趣的经验。

我们有时会在各种 URL 上生成非常简短的文档,并在 bitbucket.org/rest/api/1.0api.bitbucket.org/2.0 等之间散布功能的部分,以及获取存储库列表的方法:

GET https://api.bitbucket.org/2.0/repositories?role=x

这个响应包含一个UUID,用于代替URL中的slug段落。根据文档所说:
这可以被用作URL中slug段落的替代。使用这种方法可以保证你的URL在仓库所有者重命名或将仓库转让给其他用户时不会失效。
听起来很合理!那么如何获取分支列表呢?
GET https://api.bitbucket.org/2.0/repositories/{username}/{repo_slug}/refs/branches
UUID 可以替代 repo_slug,这很好。但奇怪的是它还需要 username(有时也可以是组织名),所以对于移动存储库的弹性问题毫无意义。而且存储库列表会返回吗?不会
那么,使用存储库 UUID,我该如何找到 username,或者更好的方法是只用 UUID 获取分支列表,这是 GitLab/GitHub 支持的明智之举。谢谢。
1个回答

4
看起来一旦您拥有仓库UUID,就可以将%7B%7D替换为空的用户名/团队名。
这份文档中得知:

一旦您获得了仓库的UUID,只要使用空字段,就不再需要用户名或团队名来调用API。

这可以帮助您解决无论用户名或团队名如何更改,都能找到仓库的问题。

使用团队名(1team)和仓库名(moxie)进行调用:

curl https://api.bitbucket.org/2.0/repositories/1team/moxie

使用UUID和空字段进行调用:

curl https://api.bitbucket.org/2.0/repositories/%7B%7D/%7B21fa9bf8-b5b2-4891-97ed-d590bad0f871%7D

使用UUID和团队名进行调用:

curl https://api.bitbucket.org/2.0/repositories/1team/%7B21fa9bf8-b5b2-4891-97ed-d590bad0f871%7D


是的!哎呀!正是我所希望的,谢谢。本来已经准备放弃对BitBucket的支持了。如果它能正常工作,我会尝试并将其标记为答案。 - Dominic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接