如何使用github GraphQLAPI获取分支的zipballUrl?

如何使用github GraphQLAPI获取分支的zipballUrl?,github,github-graphql,github-api-v4,Github,Github Graphql,Github Api V4,我试图以编程方式下载已签出到特定分支的存储库的zip文件。 为此,我需要获得我通过指定的分支机构负责人的zipballUrl 指定如何获取默认分支的zipballUrl,但我无法根据自己的要求更改它。如果有人能帮忙,我会很感激的 PS:运行git clone命令并签出到分支不是一个选项,因为我使用的编程语言(ballerina)还不支持shell命令。您可以使用存储库对象的引用字段 例如,考虑到同一个google gson项目 { repository(owner: "google", na

我试图以编程方式下载已签出到特定分支的存储库的zip文件。 为此,我需要获得我通过指定的分支机构负责人的zipballUrl

指定如何获取默认分支的zipballUrl,但我无法根据自己的要求更改它。如果有人能帮忙,我会很感激的


PS:运行git clone命令并签出到分支不是一个选项,因为我使用的编程语言(ballerina)还不支持shell命令。

您可以使用存储库对象的引用字段

例如,考虑到同一个google gson项目

{
  repository(owner: "google", name: "gson") {

    ref(qualifiedName: "722"){
      target {
        ... on Commit {
          tarballUrl
          zipballUrl
        }
      }
    }
  }
}
在这个查询中,ref(qualifiedName)将基本上查找具有指定值的引用或分支名称,并返回分支的tar内容

回应

{
  "data": {
    "repository": {
      "ref": {
        "target": {
          "tarballUrl": "https://codeload.github.com/google/gson/legacy.tar.gz/2725be440147a71030ece93683b4424e849c59ed",
          "zipballUrl": "https://codeload.github.com/google/gson/legacy.zip/2725be440147a71030ece93683b4424e849c59ed"
        }
      }
    }
  }
}
您可以验证分支引用“722”的sha

非常感谢!!!。为了避免其他读者产生混淆,“722”是谷歌gson回购协议中的一个分支机构的名称,尽管它看起来可能有些奇怪。