Как получить Readme.MD из Github Graphql API?
В v3 есть специальный API для получения файла readme.md. Но в новом V4 GraphQL нет такого поля в объекте репозитория.
Кто-нибудь знает, как получить файл readme?
Спасибо!
1 ответ
Для получения файла README.md еще не существует определенной сущности, но вы можете извлечь его так же, как и любой другой файл:
{
repository(owner: "gitpoint", name: "git-point") {
object(expression: "master:README.md") {
... on Blob {
text
}
}
}
}
Похоже, потому что GitObject реализует Blob, вы можете использовать синтаксис "... on" для доступа к его свойствам, которые будут содержать содержимое объекта.
Чтобы получить доступ к рассматриваемому объекту, передайте ответвление и имя файла с расширением в формате "branch: filename.ext" и получите BLOB-объект из результата и текст из него.
Несколько объектов могут быть извлечены одновременно, что позволяет вам проверять наличие альтернативных оболочек, таких как имена "readme.md" в нижнем регистре. Просто предоставьте псевдонимы для объектов. Пример ниже.
{
repository(owner: "owner", name: "name") {
upCase: object(expression: "master:README.md") {
... on Blob {
text
}
}
object(expression: "master:readme.md") {
... on Blob {
text
}
}
otherFile: object(expression: "master:index.js") {
... on Blob {
text
}
}
}
Это может помочь объяснить синтаксис "... on". https://graphql.github.io/graphql-spec/June2018/