Github GraphQL 列出团队的 repo 权限

问题描述

我真的很难从 GitHub GraphQL api 中获得任何明智的东西...... 我想获得一个团队的回购列表和权限级别。到目前为止,我有

Q= """query {
  organization(login: "MY_ORG") {
      team(slug:"MY_TEAM") {
          name
          repositories(first:3){
              nodes {
                  name
              }
              edges {
                  permission
              }
          }
      }
  }
}"""

哪个返回

{'data': {'organization': {'team': {'name': 'MY_TEAM','repositories': {'nodes': [{'name': 'REPO1'},{'name': 'REPO2'},{'name': 'REPO3'}],'edges': [{'permission': 'ADMIN'},{'permission': 'ADMIN'},{'permission': 'ADMIN'}]}}}}}

但是我看不到任何方法可以将权限和存储库名称一起列出,因为无法从 teamrepositoryedge 转到存储库节点,反之亦然:/

我觉得我错过了一些明显的东西,只是没有看到。

解决方法

最终发现边缘有一个节点,它不像其他节点那样被记录下来:(

query {
organization(login: "MY_ORG") {
    team(slug:"MY_TEAM"){
        name
        repositories(first:3){
            edges {
                permission
                node {
                    name
                }
            }
        }
    }
}
}

{'data': {'organization': {'team': {'name': 'MY_TEAM','repositories': {'edges': [{'permission': 'ADMIN','node': {'name': 'REPO1'}},{'permission': 'ADMIN','node': {'name': 'REPO2'}},'node': {'name': 'REPO3'}}]}}}}}