BitBucket API一直是一种有趣的体验。
有时,我们会在各种URL上生成非常简短的文档,并在bitbucket.org/rest/api/1.0
,api.bitbucket.org/2.0
等之间添加一些功能,并提供一种获取存储库列表的方法:
GET https://api.bitbucket.org/2.0/repositories?role=x
此响应包含回购的UUID,文档说:
这可以代替 URL中的段段。 这样做可以确保您的网址继续存在 由存储库所有者重命名存储库,甚至转移存储库 存放给其他用户。
听起来像是我的常识!那么getting a list of branches呢?
GET https://api.bitbucket.org/2.0/repositories/{username}/{repo_slug}/refs/branches
UUID
可以代替repo_slug
,这很好。但是它也很奇怪地想要username
(它也可能是组织名称,这很令人困惑)。因此,对移动存储库具有弹性的观点毫无意义。存储库列表是否返回此信息? 没有。
那么,如何使用存储库UUID找出username
,或者更好地获取仅包含UUID的分支列表,这像在GitLab / GitHub上那样是明智的支持?谢谢。
答案 0 :(得分:1)
看起来您一旦拥有回购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