Github graphQL API 获取按 pushDate 排序的存储库分支
Github graphQL API get branches of a repository sorted by pushDate
我们可以使用提到的查询获取特定存储库的所有分支 。
query {
repository(owner: "<userName>", name: "<repoName>") {
refs(first: 10, refPrefix: "refs/heads/",after:"<cursor>") {
edges {
node {
name
target {
... on Commit {
author {
name
email
user {
login
}
}
pushedDate
oid
}
}
}
}
}
}
}
但是是否可以按 pushedDate
(或任何相关日期)的排序顺序返回名称。例如,如果我的存储库有 2 个分支(branch 1
,推送日期为 March 1
和 branch 2
,推送日期为 March 10
,我希望 branch2
在 [=14 之前返回=]).
我们可以手动进行排序,但问题是我的查询是分页的,所以这种排序只会对当前页面中的那些分支进行排序。
不幸的是,我认为这是不可能的。订购分店的唯一方法是 ALPHABETICAL
例如refs(first: 10, refPrefix: "refs/heads/", orderBy: {field: ALPHABETICAL, direction: DESC}
但是,假设您没有 1000 多个分支,也许您可以按照您的建议进行所有分页查询,然后按 pushedDate
排序。您可以通过分页 (first: 100
) 一次获得 100 个节点,因此可能只需几个查询即可获得所有分支。
我们可以使用提到的查询获取特定存储库的所有分支
query {
repository(owner: "<userName>", name: "<repoName>") {
refs(first: 10, refPrefix: "refs/heads/",after:"<cursor>") {
edges {
node {
name
target {
... on Commit {
author {
name
email
user {
login
}
}
pushedDate
oid
}
}
}
}
}
}
}
但是是否可以按 pushedDate
(或任何相关日期)的排序顺序返回名称。例如,如果我的存储库有 2 个分支(branch 1
,推送日期为 March 1
和 branch 2
,推送日期为 March 10
,我希望 branch2
在 [=14 之前返回=]).
我们可以手动进行排序,但问题是我的查询是分页的,所以这种排序只会对当前页面中的那些分支进行排序。
不幸的是,我认为这是不可能的。订购分店的唯一方法是 ALPHABETICAL
例如refs(first: 10, refPrefix: "refs/heads/", orderBy: {field: ALPHABETICAL, direction: DESC}
但是,假设您没有 1000 多个分支,也许您可以按照您的建议进行所有分页查询,然后按 pushedDate
排序。您可以通过分页 (first: 100
) 一次获得 100 个节点,因此可能只需几个查询即可获得所有分支。