GraphQL:用关键字搜索,提供存储库列表,并为每个存储库提供使用github API的协作者

时间:2019-06-04 10:36:04

标签: graphql github-api

使用关键字搜索存储库,并在git hub中找到与该存储库关联的所有存储库,列出每个存储库的协作者。

使用关键字搜索存储库工作正常,我能够获得每个存储库的名称,但无法获得合作者的名称, 这样我就必须具有推送访问权限才能查看协作者。

查询{

rateLimit{
    cost
    remaining
    resetAt
}
search(query: "-js created:>2015-01-01 language:JavaScript", type:REPOSITORY, first: 20) {
    repositoryCount
    pageInfo {
        hasNextPage
        endCursor
        startCursor
    }
    edges {
        node {
            ... on Repository {
                name
                url
                collaborators(first: 100, affiliation: ALL)
              {
                edges{
                  node{
                    name
                  }
                }
              }
            }
        }
    }
}

如果我像下面这样,我将获得合作者,但我想使用搜索功能并获得仅搜索到的存储库的合作者。

{   用户(登录:“ xxxx”){

repositories(first: 100){
  nodes{

      name
      url
        collaborators(first:100,affiliation:ALL){
      nodes{
        name
      }
    }

  }
}

} }

1 个答案:

答案 0 :(得分:0)

合作者是有权访问存储库的用户,除非您对该存储库具有一定的权限级别,否则这些用户是不可见的。我相信GitHub REST API具有相同的限制,出于隐私原因而这样做。

相反,我认为您可能有兴趣查看参与者,以查看谁在项目中处于活动状态。 GraphQL API当前不支持此功能,但可通过REST API获得此功能:https://developer.github.com/v3/repos/statistics/#get-contributors-list-with-additions-deletions-and-commit-counts