【发布时间】:2017-10-23 13:52:09
【问题描述】:
GitHub 的 GraphQL API 是否与 contents API 等效?
我似乎想不出一个接受 repo 所有者、repo 名称和文件路径并返回文件内容的查询。我猜它与tree 对象有关?
【问题讨论】:
标签: github github-api graphql
GitHub 的 GraphQL API 是否与 contents API 等效?
我似乎想不出一个接受 repo 所有者、repo 名称和文件路径并返回文件内容的查询。我猜它与tree 对象有关?
【问题讨论】:
标签: github github-api graphql
经过一番挖掘,找到了:
query {
repository(name: "repoName", owner: "repoOwner") {
object(expression: "branch:path/to/file") {
... on Blob {
text
}
}
}
}
在object 字段上传递给expression 的参数实际上是一个适合rev-parse 的git 修订表达式,所以我想你可以用它来进行高级查询。
文档:
【讨论】:
GitObject,它可以是Blob(文件),也可以是Commit、Tag 或Tree。 ... on Blob 是 inline fragment,如果返回的 GitObject 是 Blob,则允许您有条件地查询 text 字段。