如何从Github Graphql API获取Readme.MD?

时间:2017-09-15 23:25:43

标签: github github-api github-graphql

v3具有用于检索readme.md文件的特定API。但是在新的V4 GraphQL中,Repository Object中没有这样的字段。

有谁知道如何检索自述文件?

谢谢!

2 个答案:

答案 0 :(得分:6)

还没有特定的实体来获取README.md文件,但您可以像检索任何其他文件一样检索它:

{
  repository(owner: "gitpoint", name: "git-point") {
    object(expression: "master:README.md") {
      ... on Blob {
        text
      }
    }
  }
}

答案 1 :(得分:0)

由于GitObject实现了Blob,因此您可以使用“ ... on”语法来访问其属性,该属性将包含对象的内容。

为了访问所讨论的对象,请以“ branch:filename.ext”格式传递扩展名与分支和文件名,并从结果中检索Blob,然后从中检索文本。

可以同时检索多个对象,使您可以检查其他大小写,例如小写的“ readme.md”名称。只需为对象提供别名。下面的示例。

   {
    repository(owner: "owner", name: "name") {
      upCase: object(expression: "master:README.md") {
        ... on Blob {
          text
        }
      }
      object(expression: "master:readme.md") {
        ... on Blob {
          text
        }
      }
      otherFile: object(expression: "master:index.js") {
        ... on Blob {
          text
        }
      }
    }

这可能有助于解释“ ... on”语法。 https://graphql.github.io/graphql-spec/June2018/#sec-Inline-Fragments