如何使用 github graphQL API 获取分支的 zipballUrl?
How to get the zipballUrl of a branch using github graphQL API?
我正在尝试以编程方式下载已签出到特定分支的存储库的 zip 文件。
为此,我需要通过 github graphQL API.
获取我指定的分支头部的 zipballUrl
指定如何获取默认分支的 zipballUrl 但我无法根据我的要求更改它。如果有人可以提供帮助,我们将不胜感激。
PS: 运行 一个 git 克隆命令并检查到分支不是一个选项,因为我使用的编程语言 (ballerina) 不支持 shell尚未命令。
您可以使用存储库对象的引用字段。
例如考虑同一个googlegson项目
{
repository(owner: "google", name: "gson") {
ref(qualifiedName: "722"){
target {
... on Commit {
tarballUrl
zipballUrl
}
}
}
}
}
在此查询中,ref(qualifiedName) 基本上会查找具有指定值的引用或分支名称以及 return 分支的 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
https://github.com/google/gson/commit/2725be440147a71030ece93683b4424e849c59ed
我正在尝试以编程方式下载已签出到特定分支的存储库的 zip 文件。 为此,我需要通过 github graphQL API.
获取我指定的分支头部的 zipballUrlPS: 运行 一个 git 克隆命令并检查到分支不是一个选项,因为我使用的编程语言 (ballerina) 不支持 shell尚未命令。
您可以使用存储库对象的引用字段。
例如考虑同一个googlegson项目
{
repository(owner: "google", name: "gson") {
ref(qualifiedName: "722"){
target {
... on Commit {
tarballUrl
zipballUrl
}
}
}
}
}
在此查询中,ref(qualifiedName) 基本上会查找具有指定值的引用或分支名称以及 return 分支的 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 https://github.com/google/gson/commit/2725be440147a71030ece93683b4424e849c59ed