Github GraphQL-获取存储库';s的提交列表
我使用GraphQL从使用Github的GraphQL(v4)API的存储库列表中获取一些数据。我想从存储库中获取最新提交的列表,无论提交的分支/标记/引用是什么 目前,我正在执行以下操作以从某个存储库获取提交列表:Github GraphQL-获取存储库';s的提交列表,github,graphql,github-api,github-graphql,Github,Graphql,Github Api,Github Graphql,我使用GraphQL从使用Github的GraphQL(v4)API的存储库列表中获取一些数据。我想从存储库中获取最新提交的列表,无论提交的分支/标记/引用是什么 目前,我正在执行以下操作以从某个存储库获取提交列表: ... on Repository{ refs(refPrefix:"refs/",orderBy:$refOrder,first:1){ edges{ node{ ... on Ref{
... on Repository{
refs(refPrefix:"refs/",orderBy:$refOrder,first:1){
edges{
node{
... on Ref{
target{
... on Commit{
history(first:10){
totalCount
edges{
node{
... on Commit{
committedDate
}
}
}
}
}
}
}
}
}
}
}
其中,$refOrder
是我与请求一起发送的对象,定义如下:
{
"refOrder": {
"direction": "DESC",
"field": "TAG_COMMIT_DATE"
}
}
这段代码正在工作,但无法检索我想要的结果。响应返回一个提交列表,,但不一定是来自存储库的最后一次提交。当我转到repository页面并单击“提交”时,我通常会看到一个提交列表,这些提交比我从API调用中得到的结果要新
我错过了什么?我应该尝试不同的
refPrefix
或orderBy
参数吗?我已经尝试将“master”作为refPrefix
,但遇到了相同的问题。刚刚意识到我要查找的是存储库中存在的一个字段,该对象名为defaultbranchhref
。使用这个字段,我能够检索我正在查找的数据
我的查询现在如下所示:
... on Repository{
defaultBranchRef{
target{
... on Commit{
history(first:10){
edges{
node{
... on Commit{
committedDate
}
}
}
}
}
}
}
}
如果您还想获取所有分支(而不仅仅是默认分支)的最新提交,则可以使用前缀refs/heads/
请求引用:
{
存储库(所有者:“bertrandmartel”,名称:“callflow workshop”){
refs(refPrefix:“refs/heads/”,orderBy:{direction:DESC,field:TAG\u COMMIT\u DATE},first:100){
边缘{
节点{
…参考{
名称
目标{
…提交{
历史(第一:2){
边缘{
节点{
…提交{
委员会
}
}
}
}
}
}
}
}
}
}
}
}
在您的例子中,使用refs/
也会为您提供标记ref
在过去几天里,我学到了很多关于GraphQL的知识,因此我在Medium上发布了一篇文章,总结了我的努力:你能告诉我这个的基本URL是什么吗?@anjujo用于Github GQL API?如果有的话,这里是: