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

13
在GitHub查看组织用户列表时,我可以看到用户是多少个团队的成员。
单击此计数会显示我所在的团队,将我放在以下页面: https://github.com/orgs/my-org/teams?query=%40username 但是,我正在尝试通过GitHub API实现相同的功能,但我无法找到列出用户当前是哪些团队(在组织内)成员的端点。
一个解决方法是循环遍历组织中的所有团队并获取它们的成员列表,但这可能会快速耗尽我的速率限制,因此能够在一个请求中执行此操作将非常有用。
3个回答

16
您可以使用GraphQL API v4来过滤组织中团队的用户,使用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"
            }
          }
        ]
      }
    }
  }
}

Source : platform.github.community forum


0

很遗憾,GitHub目前还没有提供这样的功能。

目前,就像您建议的那样,您需要循环遍历组织中的每个团队以获取其中所有成员,然后您需要循环遍历所有用户,并检查这些用户是否是这些团队的成员。

如果您使用API令牌,可以增加速率限制,但如果您有一个大型组织,解决方案仍然不理想。


0

你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community
虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅有链接的答案可能会失效。-【来自审查】 - Nico Haase

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接