2015-05-26 2 views
2

В GitHub при просмотре списка пользователей моей организации я могу видеть, сколько команд принадлежит пользователю.API GitHub: список групп пользователей в организации

При нажатии на этот счет показывает мне, какие команды находится пользователь, поставив меня на следующей странице: https://github.com/orgs/my-org/teams?query=%40username

Однако я пытаюсь добиться ту же функциональность через API GitHub, но у меня не удалось найти конечную точку, в которой перечислены команды (в пределах организации), к которым пользователь в настоящее время является членом.

Одним из способов решения проблемы является объединение всех команд в организации и получение их списка участников, но это может быстро пройти мой лимит ставок, поэтому было бы полезно сделать это одним запросом.

ответ

0

К сожалению, GitHub еще не предоставил способ сделать это.

На данный момент, как и вы сказали, вам нужно будет пройти через каждую команду в организации, чтобы получить всех членов внутри каждого из них, тогда вам нужно будет пройти через всех пользователей и проверить, являются ли пользователи членами этих команды.

Вы можете увеличить лимит ставок, если используете токен API, но решение по-прежнему паршиво, если у вас большая организация.

1

Вы можете сделать это с помощью GraphQL API v4 фильтрации пользователей в командах внутри organization с userLogins:

{ 
    organization(login: "my-org") { 
    teams(first: 100, userLogins: ["johndoe"]) { 
     totalCount 
     edges { 
     node { 
      name 
      description 
     } 
     } 
    } 
    } 
} 

, который дает, например:

{ 
    "data": { 
    "organization": { 
     "teams": { 
     "totalCount": 2, 
     "edges": [ 
      { 
      "node": { 
       "name": "Employees", 
       "description": "org employees" 
      } 
      }, 
      { 
      "node": { 
       "name": "Developers", 
       "description": "active developers" 
      } 
      } 
     ] 
     } 
    } 
    } 
} 

Источник: platform.github.community forum

Смежные вопросы