Как получить zipballUrl ветви, используя github graphQL API?
Я пытаюсь программно загрузить zip-файл репозитория, который уже извлечен в определенную ветку. Для этого мне нужно получить zipballUrl главы ветви, который я определяю через github graphQL API.
В этом ответе указывается, как получить zipballUrl из ветви по умолчанию, но я не смог изменить его в соответствии с моим требованием. Цените, если кто-то может помочь.
PS: Выполнение команды git clone и проверка на ветвь не являются опцией, потому что язык программирования, который я использую (балерина), пока не поддерживает команды оболочки.
1 ответ
Вы можете использовать поле ссылки объекта репозитория.
Например, рассматривая тот же проект Google gson
{
repository(owner: "google", name: "gson") {
ref(qualifiedName: "722"){
target {
... on Commit {
tarballUrl
zipballUrl
}
}
}
}
}
В этом запросе ref(qualName) будет в основном искать ссылку или имя ветви с указанным значением и возвращать содержимое 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" https://github.com/google/gson/commit/2725be440147a71030ece93683b4424e849c59ed