GitHub GraphQL等效的内容API是什么?

33
1个回答

67

找了一些资料,终于找到了:

query {
  repository(name: "repoName", owner: "repoOwner") {
    object(expression: "branch:path/to/file") {
      ... on Blob {
        text
      }
    }
  }
}
传递给object字段上的expression参数实际上是适用于rev-parse的git修订表达式,因此我猜你可以通过它进行高级查询。
文档:

6
基于64位编码的二进制内容怎么样?我们在v3中有这个功能,但是在v4中找不到了。 - elquimista
1
“...”应该是什么意思? - SW_user2953243
2
@SW_user2953243 GraphQL 语法,请勿替换点号。 - yachaka
4
您正在查询一个 GitObject,它可能是一个 Blob (文件),但也可能是一个 CommitTagTree... on Blob内联片段 ,允许您在返回的 GitObjectBlob 时有条件地查询 text 字段。 - Sam Tolmay
@SamTolmay 我尝试使用Tag GitObject,但是得到了空响应。你有什么想法吗?对于无效的标签,会得到null对象。对于有效的标签,只有空的JSON对象。 { repository(owner: "gradle", name: "gradle") { url object(expression: "v5.3.0") { ... on Tag { oid id } } } } - Furkan Yavuz
当对象是子模块时,它无法工作:它会返回“object: null”。 - mljrg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接