GitHub API:列出组织内的用户团队

时间:2015-05-26 19:01:01

标签: github github-api

在GitHub中查看我的组织的用户列表时,我能够看到用户所属的团队数量。

点击此计数会显示用户所在的团队,让我进入以下页面: https://github.com/orgs/my-org/teams?query=%40username

但是,我正在尝试通过GitHub API实现相同的功能,但我一直无法找到一个端点,列出了用户当前所属的团队(组织内)。

一种解决方法是遍历组织中的所有团队并获取其成员列表,但这可以快速通过我的速率限制,因此能够在一个请求中执行此操作将非常有用。

2 个答案:

答案 0 :(得分:3)

您可以GraphQL API v4使用userLoginsorganization内过滤用户{/ 3}}来执行此操作:

{
  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

答案 1 :(得分:0)

不幸的是,GitHub还没有提供这样做的方法。

目前,正如您所建议的那样,您必须遍历组织中的每个团队以获取每个团队中的所有成员,然后您需要遍历所有用户,并检查用户是否是这些团队的成员

如果您使用API​​令牌,则可以提高速率限制,但如果您拥有庞大的组织,解决方案仍然很糟糕。