找出谁是git repo的管理员

Thi*_*obo 17 git github

我是一家公司的github git repo的贡献者.

我想找出哪些贡献者是管理员.

除了四处走动并询问公司中的每个人之外,我如何找出谁是管理员?

Ber*_*tel 18

如果您具有对此存储库的推送访问权限,则可以使用Github API查找协作者

您将需要一个访问令牌,端点https://api.github.com/repos/ORG/REPO/collaborators?access_token=ACCESS_TOKEN为您提供所有协作者的列表,其中包含每个协作者的权限类型列表:

"permissions": {
    "admin": true,
    "push": true,
    "pull": true
  }
Run Code Online (Sandbox Code Playgroud)

您可以使用curljq(解析JSON响应),如下所示:

curl https://api.github.com/repos/ORG/REPO/collaborators?access_token=ACCESS_TOKEN | \
     jq '[ .[] | select(.permissions.admin == true) | .login ]'
Run Code Online (Sandbox Code Playgroud)

  • @einnocent,如果回购是公开的,则较窄的范围是`public_repo`范围,请参见[范围列表](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps /#available-scopes)。如果回购是私人的,则“回购”范围是必要的 (3认同)
  • Def不是我期望的那样,但是可以完成任务。您统治@Bertrand Martel (2认同)
  • 访问令牌需要什么范围?我在 API 端点文档中没有看到任何指定的内容:https://developer.github.com/v3/repos/collaborators/#list-collaborators (2认同)
  • 将 `repo` 范围添加到我的访问令牌以用于私有仓库工作。 (2认同)
  • 请注意,“?access_token=ACCESS_TOKEN”的这种用法已被弃用。有关详细信息,请参阅 https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api/#authenticating-using-query-parameters。 (2认同)
  • 是否有原因导致这不是普通贡献者可以访问的存储库中的简单“用户”选项卡? (2认同)

jnn*_*nnn 8

您还可以使用 v4 (GraphQL) API来执行此操作:

query { 
  repository (owner:"ORG",name:"REPO") {
    collaborators (first:100) {
      totalCount
      edges {      
        permission
        node {
          login
          name  
        }
      }
      pageInfo {
        endCursor
        hasNextPage
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

并寻找具有以下结果的结果"permission": "ADMIN"