it-swarm.com.ru

Как получить полный список репозиториев, которые разрешены для пользователя?

Я нашел bitbucket API, как:

https://bitbucket.org/api/2.0/repositories/{teamname}

Но эта ссылка возвращает статус 301 (навсегда перемещена в !api/2.0/repositories/{teamname}).

Хорошо, но этот возвращает статус 200 с нулевыми репозиториями.

Я предоставляю два параметра как user и password, но ничего не изменилось.

Итак, кто-нибудь может ответить, как получить полный список частных репозиториев, которые разрешены для конкретного пользователя?

10
gaussblurinc

Документация Atlassian - Конечная точка репозитория предоставляет подробную документацию о том, как получить доступ к репозиториям.

URL, указанный в bitbucket для GET списка репозиториев для учетной записи:

GET https://api.bitbucket.org/2.0/repositories/{owner}

Если вы используете вышеуказанный URL, он всегда извлекает репозитории, владельцем которых вы являетесь. Чтобы получить полный список репозиториев, членом которых является пользователь, вам следует позвонить:

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

Вы можете применять следующий набор фильтров для роли в зависимости от ваших потребностей.

Чтобы ограничить набор возвращаемых репозиториев, примените роль = параметр [владелец | администратор | участник | участник], где роли:

  • owner: возвращает все репозитории, принадлежащие текущему пользователю.
  • admin: возвращает репозитории, для которых пользователь явно указал доступ администратора.
  • contributor: возвращает репозитории, в которые пользователь имеет явный доступ для записи.
  • member: возвращает репозитории, в которые пользователь явно прочитал доступ.

Edit-1:
Вы можете использовать Bitbucket REST браузер для проверки запроса/ответа.(Прекращено)

14
blizzard

Вы не должны использовать API из домена https://bitbucket.org/api

Вместо этого вы всегда должны использовать https://api.bitbucket.org .

Теперь одна из причин, по которой вы можете получить пустой результат после перенаправления, может заключаться в том, что некоторые http-клиенты будут отправлять учетные данные Basic Auth только в том случае, если сервер явно запрашивает их, возвращая ответ 401 с заголовком ответа WWW-Authenticate.

Конечная точка хранилища не требует аутентификации. Он просто вернет репозитории, которые видны анонимным пользователям (что может быть пустым набором в вашем случае), и поэтому клиенты, которые настаивают на вызове WWW-Authenticate (их много, включая Microsoft Powershell), не будут работать должным образом (обратите внимание, curl всегда охотно отправляет учетные данные Basic Auth, что делает его хорошим инструментом для тестирования).

0
Erik van Zijst