使用Github Api V4从Github repo获取最后x次提交

ssa*_*anj 7 github github-api graphql

我试图使用新的Github上GraphQL API(V4),我似乎并没有能够弄清楚如何获得最后x提交对.我使用过存储库参考,但他们仍然没有给我我需要的东西.

下面的查询几乎给了我我需要的东西:

query{
  repository(owner: "typelevel", name: "cats") {
    refs(refPrefix:"refs/heads/", last: 5) {
      edges{
        node {
          associatedPullRequests(states: MERGED, last: 5) {
            edges{
              node {
                title
                baseRef {
                  name
                  prefix
                }
                baseRefName
                commits(last: 10) {
                  edges {
                    node {
                      commit {
                        abbreviatedOid
                        message

                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但:

  1. 似乎与回购中的内容完全匹配
  2. 限于PR
  3. 看起来太笨重了

我也尝试过使用defaultBranchRef,但这也不起作用:

query{
  repository(owner: "typelevel", name: "cats") {
    defaultBranchRef {
      name
      prefix
      associatedPullRequests(states: [MERGED], last: 5) {
        edges {
          node {
            title
          }
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我一直在使用Github api页面上的资源管理器应用程序测试查询.

有任何想法吗?

ssa*_*anj 9

我能够得到这个:

query {
  repository(owner: "typelevel", name: "cats") {
    ref(qualifiedName: "master") {
      target {
        ... on Commit {
          history(first: 10) {
            pageInfo {
              hasNextPage
              endCursor
            }
            edges {
              node {
                oid
                messageHeadline
              }
            }
          }
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

通过修改这个查询挂在Github上平台社区.