如何使用GraphQL获取GitHub分支名称

Jav*_*ide 1 branch github-api graphql github-graphql

使用GitHub GraphQL API(v.4),我想获取给定存储库中存在的所有分支名称。

我的尝试

{
  repository(name: "my-repository", owner: "my-account") {
    ... on Ref {
      name
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

返回错误:

{'data': None, 'errors': [{'message': "Fragment on Ref can't be spread inside Repository", 'locations': [{'line': 4, 'column': 13}]}]}
Run Code Online (Sandbox Code Playgroud)

mac*_*our 5

以下是从仓库中检索10个分支的方法:

{
  repository(name: "git-point", owner: "gitpoint") {
    refs(first: 10, , refPrefix:"refs/heads/") {
      nodes {
        name
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

PS:您通常在处理Union类型(例如,由不同类型的对象组成的IssueTimeline)时使用传播,因此您可以在特定的对象类型上传播以查询特定字段。