我尝试使用将pull请求合并到master分支中的提交者数量。但是,我不能考虑拒绝行动。
在GitHub中,有没有办法可以看到其他人的存储库中的协作者数量?
答案 0 :(得分:4)
GitHub API v3的端点为listing collaborators:
GET /repos/:owner/:repo/collaborators
要使用它,您需要进行身份验证,并且您必须是其中一位协作者,否则您会看到:
{
"message": "Must have push access to view repository collaborators.",
"documentation_url": "https://developer.github.com/v3"
}
我注意到,当您转到存储库的“问题”部分并按作者或受让人进行过滤时,您会得到a drop-down listing the repository's collaborators。此下拉列表的HTML内容在单独的GET请求中按需加载,例如:
https://github.com/Leaflet/Leaflet/issues/show_menu_content?partial=issues/filters/authors_content
答案 1 :(得分:2)
我有类似的需求。所以,我去了google bigquery上托管的githubarchive数据库,在存储库的主分支上发现了所有PushEvent,CreateEvent和PullRequestEvent的详细信息。由此,我可以得到所有合作者用户的保守估计。合并的每个PullRequestEvent都会生成一个push事件,其中包含合并请求的协作者的名称。但是,如果PullRequestEvent被拒绝,我必须查看谁关闭PullRequest,如果它不是最初创建pull请求的用户,那么该人也是一个协作者。我不确定这是否是最好的方法,但这是我能想到的。
答案 2 :(得分:1)
我遇到了同样的问题-想查找贡献者的数量,但我自己不是贡献者。我最终只是对回购网站的主页进行了获取请求,并抓取了一些贡献者。使用python:
html = requests.get("https://github.com" + js_repo)
e = PyQuery(html.content)
links = e('li')
for link in links:
if("contributors" in PyQuery(link).html()):
items = PyQuery(link).items('span')
for i in items:
if "Fetching" in str(i):
contributors = float('nan')
break
locale.setlocale( locale.LC_ALL, 'en_US.UTF-8' )
contributors = locale.atoi(i.text())
print(contributors)
答案 3 :(得分:0)
在您的存储库页面中,点击Settings
标签,然后点击Collaborators
。
网址示例
https://github.com/<username>/<repo name>/settings/collaboration
要查看谁对您不拥有的存储库做出了贡献,您可以转到存储库,点击Graphs
,然后点击Members
。
网址示例
https://github.com/<owner username>/<repo name>/network/members