在属于组织(而不是个人)的回购中,协作者是"团队"的成员,团队可以拥有三种不同的权限:
我可以在这样的repos上看到一个协作者列表:
GET /repos/:owner/:repo/collaborators
Run Code Online (Sandbox Code Playgroud)
...但它并没有告诉我协作者拥有什么类型的权限.
在这个特殊情况下,我是合作者之一; 我不拥有存储库.
有没有办法以编程方式确定我的协作者权限类型?
2017 年 6 月更新:您现在拥有嵌套团队。
然而,orgs/teams
API提到:
REST API v3 尚未完全支持嵌套团队。
例如,列出团队成员和列出团队存储库的端点不会返回从嵌套团队结构继承的结果。
警告:自 2020 年 1 月起,团队 API 将从顶级路径转移/teams/:team_id
到拥有团队的组织下的范围路径,路径类似于/organizations/:org_id/team/:team_id
. 请参阅Dirkjan Bussink
的
“移动团队 API ”
原答案2016年
“列出用户团队”中提到了一个应包含您的权限的查询
GET /user/teams
Run Code Online (Sandbox Code Playgroud)
答案看起来像:
Status: 200 OK
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4999
[
{
"url": "https://api.github.com/teams/1",
"name": "Owners",
"id": 1,
"permission": "admin", <============
"members_count": 3,
"repos_count": 10,
"organization": {
"login": "github",
"id": 1,
"url": "https://api.github.com/orgs/github",
"avatar_url": "https://github.com/images/error/octocat_happy.gif"
}
}
]
Run Code Online (Sandbox Code Playgroud)
您需要过滤该结果,以便将团队与正确的存储库相匹配,并且您应该以这种方式取回与该存储库关联的权限级别。
归档时间: |
|
查看次数: |
6955 次 |
最近记录: |