¿Determinar los permissions de un queueborador (a un repository de la organización) a través de la API?

En un repos que pertenece a una organización (a diferencia de un individuo), los queueboradores son miembros de "equipos" y los equipos pueden tener tres types diferentes de permissions:

  • Tirar solo
  • Empujar tirar
  • Empujar, tirar y administrativo

Puedo ver una list de queueboradores en un repos como este:

GET /repos/:owner/:repo/collaborators 

… pero no me dice qué tipo de permissions tiene un queueborador.

En este caso particular, soy uno de los queueboradores; No soy el dueño del repository.

¿Hay alguna manera de determinar programáticamente el tipo de permiso de queueborador que tengo?

Actualización de junio de 2017: ahora tiene equipos nesteds .
Sin embargo, la API orgs/teams menciona:

La REST API v3 aún no es totalmente compatible con los equipos nesteds.
Por ejemplo, los puntos finales para los miembros del equipo de la Lista y los repositorys del equipo de la Lista no devuelven los resultados henetworkingados de la estructura de un equipo nested.


Respuesta original 2016

La única consulta que debe include su permiso se menciona en " Lista de equipos de usuarios "

 GET /user/teams 

Enumere todos los equipos en todas las organizaciones a las que pertenece el usuario autenticado. Este método requiere un scope de usuario o de repos cuando se autentica a través de OAuth .

La respuesta se ve así:

 Status: 200 OK X-RateLimit-Limit: 5000 X-RateLimit-Remaining: 4999 [ { "url": "https://api.github.com/teams/1", "name": "Owners", "id": 1, "permission": "admin", <============ "members_count": 3, "repos_count": 10, "organization": { "login": "github", "id": 1, "url": "https://api.github.com/orgs/github", "avatar_url": "https://github.com/images/error/octocat_happy.gif" } } ] 

Debe filtrar ese resultado para hacer coincidir el equipo con el repository correcto , y debe recuperar el nivel de permiso asociado a ese repository de esa manera.

Si desea verificar si tiene acceso de inserción a un repository GitHub, puede usar el punto final repo :

GET /repos/:owner/:repo

Si su request incluye su información de autorización (ya sea que incluya las cnetworkingenciales de su count o un token de acceso OAuth), el campo de permissions le dará la información que está buscando:

{ 'admin': False, 'push': False, 'pull': True }