如何在默认分支上从github apiv4获取文件内容?

时间:2020-06-16 15:54:21

标签: graphql github-api

this issue中找到的github v4语法中提取README.md内容取得了很多成功,如下所示:

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

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

如果在查询之前不知道,该如何更改表达式以引用存储库的默认分支名称?还是我必须对每个回购进行2个查询?

1 个答案:

答案 0 :(得分:1)

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

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