У меня есть приложение, которое записывает имена некоторых репозиториев GitHub в базу данных. Возьмем, к примеру, следующие 3 репозитория.
- https://github.com/zhangkun-Jser/react-experience
- https://github.com/zhangkun-Jser/vue-plug
- https://github.com/hsluoyz/casbin
Но проблема в том, что репозитории, которые я записал, могут быть переименованы. Например, три вышеупомянутых репозитория были соответственно переименованы в:
- https://github.com/zhangkun-Jser/react-kit
- https://github.com/zhangkun-Jser/FE-plugs
- https://github.com/casbin/casbin
Я хочу написать некоторый код для активного обновления любых старых имен репо новыми именами репо в моей базе данных. Например, измените zhangkun-Jser/react-experience
на zhangkun-Jser/react-kit
.
Я знаю, что могу использовать GitHub V3 API
для получения информации о репозитории для каждого репо, а затем получить новое имя. Но для этого требуется отправить запрос для каждого репо. Мой вопрос if there is any method to get the new names for a list of repos in one request
?
Примечание. Репозитории могут принадлежать разным владельцам, как в примере.
Я пытался использовать GraphQL API v4
, но не знал, как получить информацию о списке репозиториев. И API V4, похоже, не распознает старые имена. Например, если я отправлю следующий запрос:
{
repository(owner: "zhangkun-Jser" name: "react-experience") {
name
id
}
}
Ответ:
{
"data": {
"repository": null
},
"errors": [
{
"message": "Could not resolve to a Repository with the name 'react-experience'.",
"type": "NOT_FOUND",
"path": [
"repository"
],
"locations": [
{
"line": 2,
"column": 3
}
]
}
]
}
Кто-нибудь может помочь? Спасибо.