Github GraphQL API v4
Github GraphQL API v4는?
공식 문서
htps : //에서 ゔぇぺぺr. 기주 b. 이 m/v4/
말 그대로 GraphQL 기반 API입니다.
GraphQL에 대한 자세한 내용은 다른 게시물에서도 설명되어 있으므로, 할애합니다.
Github GraphQL API v4 사용하기
이번에는 Github에서 다양한 정보를 가져오고 싶습니다.
GraphQL을 이용할 때는
htps : //에서 ゔぇぺぺr. 기주 b. 이 m/v4/에 xpㄉ레 r/
여기에서 로그인하고 GUI 기반의 것에서 JSON을 입력하는 경우와 cURL 명령 등으로 요청하는 경우가 있습니다.
※사전에 Github의 계정으로부터, Personal access tokens
를 발행해 둘 필요가 있습니다.
다음은 특정 끌어오기 요청에 게시된 댓글을 가져옵니다.
$ curl -H "Authorization: token [発行したtoken]" -X POST -d '
> {
> "query":"query{repository(owner:\"[ユーザー名]\", name:\"[リポジトリ名]\"){pullRequest(number:1){comments(first:100){nodes{bodyText}}}}}"
> }
> ' https://api.github.com/graphql
{"data":{"repository":{"pullRequest":{"comments":{"nodes":[{"bodyText":"テストコメント1"},{"bodyText":"テストコメント2"},{"bodyText":"テストコメント3"}]}}}}}
$
Github GraphQL API v4의 JSON 구성을 확인하려면
htps : //로 ゔぇぺぺr. 기주 b. 이 m/v4/쿠에 ry/
이쪽을 참고로 조립해 가는데, 상당히 버릇이 굉장한 문서입니다.
먼저 예를 들어, 우선 특정 리포지토리의 정보를 알고 싶기 때문에,
repository (Repository)
Lookup a given repository by the owner and repository name.
이 녀석을 지정하고 대상을 더욱 좁혀 가므로 링크가 붙어 있는 Repository
에 액세스합니다.
※ GitHub Enterprise
이용시는 복수의 Organization이 있다고 생각하므로, 이쪽으로부터 파고 들어갑니다.
organization (Organization)
Lookup a organization by login.
리포지토리에서 더 조리개가 섞이는 조건이 새로 표시됩니다.
리포지토리에 등록된 끌어오기 요청에 대한 정보를 알고 싶으므로 다음에 이를 파악합니다.
※풀 요청의 번호를 지정합니다.
pullRequest (PullRequest)
Returns a single pull request from the current repository by number.
끌어오기 요청에서 더 조리개를 섞는 조건이 새로 표시됩니다.
끌어오기 요청에 대한 의견 정보를 얻고 싶다면 다음에 탐구합니다.
※ 취득하는 코멘트수를 지정합니다.
comments (IssueCommentConnection!)
A list of comments associated with the pull request.
다음으로 좁히는 조건에서는 다음을 이용합니다.
nodes -> bodyText
nodes ([IssueComment])
A list of nodes.
bodyText (String!)
The body rendered to text.
라는 느낌으로 JSON을 조립해 갑니다.
샘플
끌어오기 요청 내에서 업데이트된 파일 가져오기{
repository(owner: "[ユーザー名]", name: "[リポジトリ名]") {
pullRequest(number: 1) {
files(first: 100) {
nodes {
path
}
}
}
}
}
끌어오기 요청 목록(제목) 가져오기{
repository(owner: "[ユーザー名]", name: "[リポジトリ名]") {
pullRequests(first: 100) {
nodes {
title
}
}
}
}
풀 요청을 지정하는 경우는 pullRequest
로 번호를 지정합니다만, 풀 요청의 일람 정보를 취하는 경우는 pullRequests
로 지정합니다. 이 근처가 버릇이 굉장하다(라고 개인적으로) 생각하고 있습니다.
그 밖에도 정렬 순서를 지정하거나, 취득수 등을 일단 변수로 두고 변수의 값을 지정해 취득하는 방법등이 있어 좀처럼 깊은 기능입니다.
Reference
이 문제에 관하여(Github GraphQL API v4), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/t-kudo9/items/aae94d1082cb39855022
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이번에는 Github에서 다양한 정보를 가져오고 싶습니다.
GraphQL을 이용할 때는
htps : //에서 ゔぇぺぺr. 기주 b. 이 m/v4/에 xpㄉ레 r/
여기에서 로그인하고 GUI 기반의 것에서 JSON을 입력하는 경우와 cURL 명령 등으로 요청하는 경우가 있습니다.
※사전에 Github의 계정으로부터,
Personal access tokens
를 발행해 둘 필요가 있습니다.다음은 특정 끌어오기 요청에 게시된 댓글을 가져옵니다.
$ curl -H "Authorization: token [発行したtoken]" -X POST -d '
> {
> "query":"query{repository(owner:\"[ユーザー名]\", name:\"[リポジトリ名]\"){pullRequest(number:1){comments(first:100){nodes{bodyText}}}}}"
> }
> ' https://api.github.com/graphql
{"data":{"repository":{"pullRequest":{"comments":{"nodes":[{"bodyText":"テストコメント1"},{"bodyText":"テストコメント2"},{"bodyText":"テストコメント3"}]}}}}}
$
Github GraphQL API v4의 JSON 구성을 확인하려면
htps : //로 ゔぇぺぺr. 기주 b. 이 m/v4/쿠에 ry/
이쪽을 참고로 조립해 가는데, 상당히 버릇이 굉장한 문서입니다.
먼저 예를 들어, 우선 특정 리포지토리의 정보를 알고 싶기 때문에,
repository (Repository)
Lookup a given repository by the owner and repository name.
이 녀석을 지정하고 대상을 더욱 좁혀 가므로 링크가 붙어 있는 Repository
에 액세스합니다.
※ GitHub Enterprise
이용시는 복수의 Organization이 있다고 생각하므로, 이쪽으로부터 파고 들어갑니다.
organization (Organization)
Lookup a organization by login.
리포지토리에서 더 조리개가 섞이는 조건이 새로 표시됩니다.
리포지토리에 등록된 끌어오기 요청에 대한 정보를 알고 싶으므로 다음에 이를 파악합니다.
※풀 요청의 번호를 지정합니다.
pullRequest (PullRequest)
Returns a single pull request from the current repository by number.
끌어오기 요청에서 더 조리개를 섞는 조건이 새로 표시됩니다.
끌어오기 요청에 대한 의견 정보를 얻고 싶다면 다음에 탐구합니다.
※ 취득하는 코멘트수를 지정합니다.
comments (IssueCommentConnection!)
A list of comments associated with the pull request.
다음으로 좁히는 조건에서는 다음을 이용합니다.
nodes -> bodyText
nodes ([IssueComment])
A list of nodes.
bodyText (String!)
The body rendered to text.
라는 느낌으로 JSON을 조립해 갑니다.
샘플
끌어오기 요청 내에서 업데이트된 파일 가져오기{
repository(owner: "[ユーザー名]", name: "[リポジトリ名]") {
pullRequest(number: 1) {
files(first: 100) {
nodes {
path
}
}
}
}
}
끌어오기 요청 목록(제목) 가져오기{
repository(owner: "[ユーザー名]", name: "[リポジトリ名]") {
pullRequests(first: 100) {
nodes {
title
}
}
}
}
풀 요청을 지정하는 경우는 pullRequest
로 번호를 지정합니다만, 풀 요청의 일람 정보를 취하는 경우는 pullRequests
로 지정합니다. 이 근처가 버릇이 굉장하다(라고 개인적으로) 생각하고 있습니다.
그 밖에도 정렬 순서를 지정하거나, 취득수 등을 일단 변수로 두고 변수의 값을 지정해 취득하는 방법등이 있어 좀처럼 깊은 기능입니다.
Reference
이 문제에 관하여(Github GraphQL API v4), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/t-kudo9/items/aae94d1082cb39855022
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
repository (Repository)
Lookup a given repository by the owner and repository name.
organization (Organization)
Lookup a organization by login.
pullRequest (PullRequest)
Returns a single pull request from the current repository by number.
comments (IssueCommentConnection!)
A list of comments associated with the pull request.
nodes ([IssueComment])
A list of nodes.
bodyText (String!)
The body rendered to text.
{
repository(owner: "[ユーザー名]", name: "[リポジトリ名]") {
pullRequest(number: 1) {
files(first: 100) {
nodes {
path
}
}
}
}
}
{
repository(owner: "[ユーザー名]", name: "[リポジトリ名]") {
pullRequests(first: 100) {
nodes {
title
}
}
}
}
Reference
이 문제에 관하여(Github GraphQL API v4), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/t-kudo9/items/aae94d1082cb39855022텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)