webentwicklung-frage-antwort-db.com.de

Wie erhalte ich eine vollständige Liste der Repositorys, die für Benutzer zulässig sind?

Ich habe bitbucket api wie gefunden:

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

Dieser Link gibt jedoch den Status 301 zurück (dauerhaft in !api/2.0/repositories/{teamname} verschoben).

Ok, aber dieser gibt den Status 200 mit null Repositorys zurück.

Ich gebe zwei Parameter als user und password an, aber nichts scheint sich zu ändern.

Kann jemand antworten, wie eine vollständige Liste der privaten Repositorys abgerufen werden kann, die für einen bestimmten Benutzer zulässig sind?

10
gaussblurinc

Atlassian Documentation - Repositories Endpoint enthält eine detaillierte Dokumentation zum Zugriff auf die Repositorys.

Die in bitbucket angegebene URL zu GET eine Liste von Repositories für ein Konto lautet:

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

Wenn Sie die oben genannte URL verwenden, werden immer die Repositorys abgerufen, bei denen Sie der Eigentümer sind. Um eine vollständige Liste der Repositorys abzurufen, in denen der Benutzer Mitglied ist, sollten Sie Folgendes anrufen:

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

Sie können den folgenden Satz von Filtern basierend auf Ihren Anforderungen für die Rolle anwenden.

Um die Menge der zurückgegebenen Repositorys einzuschränken, wenden Sie den Parameter Role = [owner | admin | contributor | member] an. Die Rollen lauten:

  • owner : Gibt alle Repositorys zurück, deren Inhaber der aktuelle Benutzer ist.
  • admin : gibt Repositorys zurück, auf die der Benutzer explizit Administratorzugriff hat.
  • contributor : gibt Repositorys zurück, auf die der Benutzer explizit Schreibzugriff hat.
  • member : gibt Repositorys zurück, auf die der Benutzer explizit Zugriff hat.

Edit-1:
Sie können Bitbucket REST browser verwenden, um die Anfrage/Antwort zu testen.(abgesetzt)

14
blizzard

Sie sollten die API nicht von der Domäne https://bitbucket.org/api verwenden. 

Stattdessen sollten Sie immer https://api.bitbucket.org verwenden.

Ein Grund dafür, dass Sie nach der Umleitung möglicherweise ein leeres Ergebnis erhalten, ist möglicherweise darauf zurückzuführen, dass einige HTTP-Clients nur dann grundlegende Berechtigungsnachweise für die Authentifizierung senden, wenn der Server explizit nach ihnen fragt, indem Sie eine Antwort 401 mit dem Antwortheader WWW-Authenticate zurückgeben.

Der Endpunkt der Repositorys erfordert keine Authentifizierung. Es werden einfach die Repos zurückgegeben, die für anonyme Benutzer sichtbar sind (was in Ihrem Fall möglicherweise ein leerer Satz ist). Kunden, die auf einer WWW-Authenticate-Herausforderung bestehen (es gibt viele, einschließlich Microsoft Powershell), funktionieren nicht wie erwartet (Hinweis: curl sendet immer eifrig Basic Auth-Anmeldeinformationen, was es zu einem guten Werkzeug zum Testen macht.

0
Erik van Zijst