首页 > 解决方案 > 如何从默认分支上的 github apiv4 获取文件内容?

问题描述

我已经成功地从这个问题中找到的 github v4 语法中提取了 README.md 内容,如下所示:

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

当 defaultBranchRef.name 不是时,我的问题就出现了master。随着人们出于各种原因远离该命名约定,我们可以预期这种情况会更频繁地向前发展。

如果在查询之前我不知道它,如何更改表达式以引用 repo 的默认分支名称?或者我必须对每个 repo 进行 2 次查询?

标签: graphqlgithub-api

解决方案


您可以使用HEAD:[path]as 表达式来获取默认分支:

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

推荐阅读