Skip to main content

Explorer 사용

문서, 구문 강조 표시, 유효성 검사 오류가 포함된 브라우저의 통합 개발 환경인 GraphQL Explorer를 사용하여 실제 GitHub 데이터에 대한 쿼리를 실행할 수 있습니다.

GraphQL Explorer 정보

참고: GitHub Enterprise Cloud 조직에서 GitHub의 IP 허용 목록을 사용하는 경우 GraphQL 탐색기를 사용할 수 없습니다. 대신 대체 GraphQL 클라이언트 IDE를 사용하는 것이 좋습니다.

GraphQL ExplorerGraphiQL의 인스턴스, 즉 “그래픽 대화형 브라우저 내 GraphQL IDE”입니다.

쿼리 자동 완성

쿼리 자동 완성을 사용하면 쿼리를 빌드하는 데 도움이 됩니다. 기본 창의 쿼리 중괄호 안에서 컨트롤+스페이스 또는 시프트+스페이스를 사용해 자동 완성 메뉴를 표시합니다.

사이드바 문서에 액세스

GraphQL 스키마의 모든 형식에는 문서로 컴파일된 description 필드가 포함됩니다. Explorer 페이지의 오른쪽에 있는 축소 가능한 문서 창을 사용하면 형식 시스템에 대한 설명서를 찾아볼 수 있습니다. 문서는 자동으로 업데이트되며 사용되지 않는 필드를 삭제합니다.

문서 사이드바에는 “GitHub GraphQL API 설명서” 아래의 스키마에서 자동으로 생성되는 동일한 콘텐츠가 포함되어 있지만 형식은 위치마다 다릅니다.

변수 창 사용

일부 예제 호출에는 다음과 같이 작성된 변수가 포함됩니다.

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

이는 curl 명령에서 POST 요청을 사용하여 호출을 제출하는 올바른 형식입니다(줄 바꿈을 이스케이프하는 한).

Explorer에서 호출을 실행하려면 기본 창에 query 세그먼트를 입력하고 그 아래에 있는 쿼리 변수 창에 변수를 입력합니다. Explorer에서 단어 variables를 생략합니다.

{
   "number_of_repos": 3
}

Altair GraphQL 클라이언트 IDE 사용

GraphQL 클라이언트 IDE에는 많은 오픈 소스 있습니다. 예를 들어 Altair를 사용하여 GitHub의 GraphQL API에 액세스할 수 있습니다. Altair를 사용하여 GraphQL API에 액세스하려면 altair-graphql/altair에서 다운로드하여 설치합니다. 그런 다음 아래 단계를 따라 구성합니다.

Altair 구성

  1. 액세스 토큰을 가져옵니다.
  2. Altair를 시작합니다.
  3. 왼쪽 사이드바의 Altair 로고 아래에서** 머리글 설정**을 클릭합니다. 새 창이 열립니다.
  4. “헤더 키” 필드에 Authorization를 입력합니다.
  5. "헤더 값" 필드에 Bearer TOKEN을 입력하고 첫 번째 단계에서 TOKEN을 사용자 토큰으로 바꿉니다.
  6. 창의 오른쪽 아래 모서리에 있는 저장을 클릭하여 권한 부여 헤더를 저장합니다.
  7. “GraphQL 엔드포인트” 필드에 https://api.github.com/graphql을(를) 입력합니다.
  8. GitHub GraphQL 스키마를 로드하려면 공용 스키마를 다운로드합니다.
  9. Altair에서 오른쪽 위에 있는 문서를 클릭한 다음 세 개의 점 및 스키마 로드... 를 클릭합니다.
  10. 이전 단계에서 다운로드한 파일 공용 스키마를 선택합니다.

참고: POST가 메서드인 이유에 대한 자세한 내용은 "GraphQL을 사용하여 호출 형성"을 참조하세요.

직접 쿼리하여 액세스를 테스트할 수 있습니다.

query {
  viewer {
    login
  }
}

모든 것이 올바르게 작동하면 로그인이 표시됩니다. 쿼리 만들기를 시작할 준비가 완료되었습니다.

지원 요청

GitHub Apps, OAuth apps, API 개발에 대한 질문, 버그 보고서 및 토론은 GitHub의 커뮤니티 토론의 API 및 웹후크 범주을 탐색합니다. 토론은 GitHub 직원이 검토하고 관리하며 GitHub 커뮤니티에서 답변합니다.

연락처 양식을 사용하여 GitHub 지원에 직접 연락하는 것이 좋습니다.

  • GitHub Enterprise Cloud 직원의 보장된 응답
  • 중요한 데이터 또는 개인 문제와 관련된 지원 요청
  • 기능 요청
  • GitHub Enterprise Cloud 제품에 대한 피드백

오류 문제 해결

GraphQL은 내적이므로 Explorer는 다음을 지원합니다.

  • 현재 스키마를 인식하는 지능형 자동 완성
  • 입력할 때 유효성 검사 오류 미리 보기

형식이 올바르지 않거나 스키마 유효성 검사를 통과하지 않은 쿼리를 입력하면 팝업에서 오류를 경고합니다. 쿼리를 실행하면 응답 창에서 오류가 반환됩니다.

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 쿼리의 일부는 성공하고 나머지는 실패할 수 있습니다.