【发布时间】:2020-02-05 21:36:48
【问题描述】:
我是一家公司 github 中 git repo 的贡献者。
我想找出贡献者中谁是管理员。
除了四处询问公司中的每个人之外,我如何找出谁是管理员?
【问题讨论】:
-
不幸的是,我认为在 Github 上没有办法解决这个问题。
我是一家公司 github 中 git repo 的贡献者。
我想找出贡献者中谁是管理员。
除了四处询问公司中的每个人之外,我如何找出谁是管理员?
【问题讨论】:
如果你有这个仓库的推送权限,你可以使用 Github API 找到collaborators
您将需要一个access token,端点https://api.github.com/repos/ORG/REPO/collaborators 会为您提供所有协作者的列表以及每个协作者的权限类型列表:
"permissions": {
"admin": true,
"push": true,
"pull": true
}
curl https://api.github.com/repos/ORG/REPO/collaborators \
-H "Authorization: Token ACCESS_TOKEN" | \
jq '[ .[] | select(.permissions.admin == true) | .login ]'
【讨论】:
public_repo 如果回购是公开的,请参阅 the list of scopes。如果 repo 是私有的,repo 范围是必要的
repo 范围添加到我的访问令牌中,以用于私人回购工作。
?access_token=ACCESS_TOKEN 的这种用法已被弃用。详情请见developer.github.com/changes/…。
您也可以为此使用 v4 (GraphQL) API:
query {
repository (owner:"ORG",name:"REPO") {
collaborators (first:100) {
totalCount
edges {
permission
node {
login
name
}
}
pageInfo {
endCursor
hasNextPage
}
}
}
}
并查找具有"permission": "ADMIN"的结果
【讨论】: