Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.
В настоящее время GitHub AE находится в ограниченном выпуске.

Использование обозревателя

Вы можете выполнять запросы к реальным данным GitHub с помощью обозревателя GraphQL, интегрированной среды разработки в браузере, которая включает документы, выделение синтаксиса и ошибки проверки.

Сведения об обозревателе GraphQL

GraphiQL, также упоминаемый в этой документации как обозреватель GraphQL, является "графической интерактивной IDE GraphQL в браузере".

Использование GraphiQL

Чтобы использовать приложение GraphiQL, скачайте и установите его с https://github.com/skevy/graphiql-app.

Настройка GraphiQL

  1. Получение токена OAuth.
  2. Запустите GraphiQL.
  3. В правом верхнем углу GraphiQL щелкните Edit HTTP Headers (Изменить заголовки HTTP).
  4. В поле Ключ введите Authorization. В поле Значение введите Bearer <token>, где <token> — это созданный токен OAuth. Заголовки graphiql
  5. Установите флажок справа от токена, чтобы его сохранить.
  6. Чтобы вернуться в редактор, щелкните за пределами модального окна Изменить заголовки HTTP.
  7. В поле GraphQL Endpoint (Конечная точка GraphQL) введите https://<em>HOSTNAME</em>/api/graphql.
  8. В раскрывающемся меню Метод выберите POST.

Примечание. Дополнительные сведения о том, почему POST является методом, см. в разделе Взаимодействие с GraphQL.

Можно проверить доступ, сделав запрос себе:

query {
  viewer {
    login
  }
}

Если все сработало правильно, будет отображаться ваше имя для входа. Все готово для начала выполнения запросов.

Доступ к документации на боковой панели

Все типы в схеме GraphQL включают поле description, скомпилированное в документацию. Свертываемая панель Документация справа на странице обозревателя позволяет просматривать документацию по системе типов. Документация автоматически обновляется, а нерекомендуемые поля удаляются.

Боковая панель Документации содержит то же содержимое, которое автоматически создается из схемы в разделе Ссылка, хотя местами оно отформатировано по-разному.

Использование панели переменных

Некоторые примеры вызовов включают переменные, написанные так:

query($number_of_repos:Int!){
  viewer {
    name
     repositories(last: $number_of_repos) {
       nodes {
         name
       }
     }
   }
}
variables {
   "number_of_repos": 3
}

Это правильный формат для отправки вызова с помощью POST запроса в команде curl (при условии, что вы экранируете новые строки).

Если вы хотите выполнить вызов в обозревателе, введите сегмент query на главной панели и переменные на панели Переменные запроса под ним. Опустите слово variables из обозревателя:

{
   "number_of_repos": 3
}

Запрос поддержки

Для вопросов, отчетов об ошибках и обсуждений о GitHub Apps, OAuth Apps и разработке API изучите Обсуждения API и интеграции в сообществе GitHub. Обсуждения модерируются и обслуживаются сотрудниками GitHub, но гарантий того, что сотрудники GitHub ответят на вопросы, опубликованные на форуме, нет.

В службу поддержки GitHub можно обратиться напрямую через форму связи, чтобы получить:

  • гарантированный ответ от сотрудников GitHub AE;
  • запросы на поддержку, связанные с конфиденциальными данными или частными проблемами;
  • запросы функций;
  • отзывы о продуктах GitHub AE.

Устранение ошибок

Так как GraphQL является интроспективным, обозреватель поддерживает:

  • Интеллектуальные опережающие вводы с учетом текущей схемы
  • Предварительный просмотр ошибок проверки при вводе

Если вы вводите запрос с неправильным форматом или запрос, который не проходит проверку схемы, всплывающее окно предупредит вас об ошибке. При выполнении запроса ошибка возвращается в панель ответов.

Ответ GraphQL содержит несколько ключей: хэш data и массив errors.

{
  "data": null,
  "errors": [
    {
      "message": "Objects must have selections (field 'nodes' returns Repository but has no selections)",
      "locations": [
        {
          "line": 5,
          "column": 8
        }
      ]
    }
  ]
}

Возможно, вы столкнулись с непредвиденной ошибкой, не связанной со схемой. В этом случае сообщение будет содержать справочный код, который можно использовать, сообщая о проблеме:

{
  "data": null,
  "errors": [
    {
      "message": "Something went wrong while executing your query. This is most likely a GitHub bug. Please include \"7571:3FF6:552G94B:69F45B7:5913BBEQ\" when reporting this issue."
    }
  ]
}

Примечание. GitHub рекомендует проверять наличие ошибок перед использованием данных в рабочей среде. В GraphQL сбой не является общим: часть запросов GraphQL может быть выполнена успешно, а другая — завершиться сбоем.