如何使用GitHub API根据明星、观众、提交数对GitHub分叉进行排序? [英] How to order GitHub forks by stars, watchers, commits using the GitHub API?
本文介绍了如何使用GitHub API根据明星、观众、提交数对GitHub分叉进行排序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
对于给定的存储库,我们可以通过替换以下URL中的‘用户名’和‘repo’来查看其分支:
https://github.com/username/repo/network/members
示例:https://github.com/veracrypt/VeraCrypt/network/members
问题
使用GitHub API,我们如何按
订购存储库的分支- 星星
- 观察者
- 提交(从分叉开始)
注意:可访问的包装器很好(例如,为GitHub API使用Python库)
我到目前为止所知道的
我们可以编写一个脚本来分别检索~500个分支的每个指标。这可能是最好/最简单的解决方案,尽管我知道GitHub有很多内置(隐藏)的功能,所以我想知道GitHub是否考虑过收集最活跃的分叉并将其内置到API中。遍历数百/数千个分叉还可能调用GitHub API的速率限制,因此使用此方法时请注意。
推荐答案
不是一个完整的答案,但可以使用GraphQL API按观星者订购(请尝试GitHub GraphQL API Explorer以获得快速入门!):
{
repository(owner: "vuejs", name: "vue") {
forks(orderBy: {field: STARGAZERS, direction: DESC}, first: 3) {
nodes {
nameWithOwner
stargazerCount
}
}
}
}
结果:
{
"data": {
"repository": {
"forks": {
"nodes": [
{
"nameWithOwner": "SmallComfort/react-vue",
"stargazerCount": 1198
},
{
"nameWithOwner": "supergaojian/vue",
"stargazerCount": 20
},
{
"nameWithOwner": "developedbyed/vue",
"stargazerCount": 13
}
]
}
}
}
}
可能的字段包括:
enum RepositoryOrderField {
"""
Order repositories by creation time
"""
CREATED_AT
"""
Order repositories by name
"""
NAME
"""
Order repositories by push time
"""
PUSHED_AT
"""
Order repositories by number of stargazers
"""
STARGAZERS
"""
Order repositories by update time
"""
UPDATED_AT
}
这篇关于如何使用GitHub API根据明星、观众、提交数对GitHub分叉进行排序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文