BitBucket API: как получить список ветвей из UUID хранилища - PullRequest
0 голосов
/ 28 января 2019

API BitBucket до сих пор был интересным опытом, скажем так.

Иногда мы генерировали очень короткие сгенерированные документы по различным URL-адресам с битами функциональности между bitbucket.org/rest/api/1.0, api.bitbucket.org/2.0 и т. Д. И способомполучить список репозиториев:

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

Этот ответ содержит UUID для репо, который говорят в документах:

Это можно использовать в качестве замены сегмента пули в URL-адресах., Это гарантирует, что ваши URL сохранятся после переименования хранилища его владельцем или даже передачи хранилища другому пользователю.

Звучит как здравый смысл для меня!Так как насчет получения списка ветвей ?

GET https://api.bitbucket.org/2.0/repositories/{username}/{repo_slug}/refs/branches

UUID можно использовать вместо repo_slug, что хорошо.Но он также странно хочет username (что также может сбивать с толку название организации).Так что смысл в устойчивости к перемещению хранилища не имеет смысла.И список репозиториев возвращает это? Нет .

Итак, как, используя UUID хранилища, я могу узнать username или, что еще лучше, получить список ветвей только с UUID, который было бы разумно поддержатькак на GitLab / GitHub?Спасибо.

1 Ответ

0 голосов
/ 28 января 2019

Похоже, что когда у вас есть UUID репо, вы можете заменить %7B%7D как пустое имя пользователя / команды.

Из этой документации :

После того, как у вас есть UUID для хранилища, вам больше не нужно имя пользователя или имя команды для выполнения вызова API, покавы используете пустое поле.

Это помогает вам разрешать хранилища независимо от того, изменяется ли имя пользователя или имя команды.

Вызов с именем команды (1 команда) и именем хранилища (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

...