GithubApiメモ
プルリク周りのメモです
(GithubApiを使うたびに毎回調べてる気がしていい加減飽きたので...)
セットアップ
curlで叩く程なので変数にaccess_tokenをセット
token=your_access_token
brew install jq
プルリクエスト一覧を取得する
curl https://api.github.com/repos/naosim/markdown2sqltable/pulls?access_token=$token -s | jq
結果
[]
現在はPRがないので空の配列が返る
特定のプルリクエストを取得する
curl https://api.github.com/repos/naosim/markdown2sqltable/pulls/2?access_token=$token -s | jq
結果
{ "url": "https://api.github.com/repos/naosim/markdown2sqltable/pulls/2", "id": 196671363, "node_id": "MDExOlB1bGxSZXF1ZXN0MTk2NjcxMzYz", "html_url": "https://github.com/naosim/markdown2sqltable/pull/2", "diff_url": "https://github.com/naosim/markdown2sqltable/pull/2.diff", "patch_url": "https://github.com/naosim/markdown2sqltable/pull/2.patch", "issue_url": "https://api.github.com/repos/naosim/markdown2sqltable/issues/2", "number": 2, "state": "closed", "locked": false, "title": "Feature/changecolumn", "user": { "login": "naosim", "id": 87138, "node_id": "MDQ6VXNlcjg3MTM4", "avatar_url": "https://avatars0.githubusercontent.com/u/87138?v=4", "gravatar_id": "", "url": "https://api.github.com/users/naosim", "html_url": "https://github.com/naosim", "followers_url": "https://api.github.com/users/naosim/followers", "following_url": "https://api.github.com/users/naosim/following{/other_user}", "gists_url": "https://api.github.com/users/naosim/gists{/gist_id}", "starred_url": "https://api.github.com/users/naosim/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/naosim/subscriptions", "organizations_url": "https://api.github.com/users/naosim/orgs", "repos_url": "https://api.github.com/users/naosim/repos", "events_url": "https://api.github.com/users/naosim/events{/privacy}", "received_events_url": "https://api.github.com/users/naosim/received_events", "type": "User", "site_admin": false }, "body": "", "created_at": "2018-06-22T08:33:34Z", "updated_at": "2018-06-23T05:20:14Z", "closed_at": "2018-06-22T08:33:41Z", "merged_at": "2018-06-22T08:33:41Z", "merge_commit_sha": "af415d0c8229a081f0478e3329b94a4eabe08168", "assignee": null, "assignees": [], "requested_reviewers": [], "requested_teams": [], "labels": [], "milestone": null, "commits_url": "https://api.github.com/repos/naosim/markdown2sqltable/pulls/2/commits", "review_comments_url": "https://api.github.com/repos/naosim/markdown2sqltable/pulls/2/comments", "review_comment_url": "https://api.github.com/repos/naosim/markdown2sqltable/pulls/comments{/number}", "comments_url": "https://api.github.com/repos/naosim/markdown2sqltable/issues/2/comments", "statuses_url": "https://api.github.com/repos/naosim/markdown2sqltable/statuses/2f89a166a60e4be0abfe65e8b077bca7d39774df", "head": { "label": "naosim:feature/changecolumn", "ref": "feature/changecolumn", "sha": "2f89a166a60e4be0abfe65e8b077bca7d39774df", "user": { "login": "naosim", "id": 87138, "node_id": "MDQ6VXNlcjg3MTM4", "avatar_url": "https://avatars0.githubusercontent.com/u/87138?v=4", "gravatar_id": "", "url": "https://api.github.com/users/naosim", "html_url": "https://github.com/naosim", "followers_url": "https://api.github.com/users/naosim/followers", "following_url": "https://api.github.com/users/naosim/following{/other_user}", "gists_url": "https://api.github.com/users/naosim/gists{/gist_id}", "starred_url": "https://api.github.com/users/naosim/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/naosim/subscriptions", "organizations_url": "https://api.github.com/users/naosim/orgs", "repos_url": "https://api.github.com/users/naosim/repos", "events_url": "https://api.github.com/users/naosim/events{/privacy}", "received_events_url": "https://api.github.com/users/naosim/received_events", "type": "User", "site_admin": false }, "repo": { "id": 137262471, "node_id": "MDEwOlJlcG9zaXRvcnkxMzcyNjI0NzE=", "name": "markdown2sqltable", "full_name": "naosim/markdown2sqltable", "owner": { "login": "naosim", "id": 87138, "node_id": "MDQ6VXNlcjg3MTM4", "avatar_url": "https://avatars0.githubusercontent.com/u/87138?v=4", "gravatar_id": "", "url": "https://api.github.com/users/naosim", "html_url": "https://github.com/naosim", "followers_url": "https://api.github.com/users/naosim/followers", "following_url": "https://api.github.com/users/naosim/following{/other_user}", "gists_url": "https://api.github.com/users/naosim/gists{/gist_id}", "starred_url": "https://api.github.com/users/naosim/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/naosim/subscriptions", "organizations_url": "https://api.github.com/users/naosim/orgs", "repos_url": "https://api.github.com/users/naosim/repos", "events_url": "https://api.github.com/users/naosim/events{/privacy}", "received_events_url": "https://api.github.com/users/naosim/received_events", "type": "User", "site_admin": false }, "private": false, "html_url": "https://github.com/naosim/markdown2sqltable", "description": "markdownからsqlのCreateTaboe文等を生成する", "fork": false, "url": "https://api.github.com/repos/naosim/markdown2sqltable", "forks_url": "https://api.github.com/repos/naosim/markdown2sqltable/forks", "keys_url": "https://api.github.com/repos/naosim/markdown2sqltable/keys{/key_id}", "collaborators_url": "https://api.github.com/repos/naosim/markdown2sqltable/collaborators{/collaborator}", "teams_url": "https://api.github.com/repos/naosim/markdown2sqltable/teams", "hooks_url": "https://api.github.com/repos/naosim/markdown2sqltable/hooks", "issue_events_url": "https://api.github.com/repos/naosim/markdown2sqltable/issues/events{/number}", "events_url": "https://api.github.com/repos/naosim/markdown2sqltable/events", "assignees_url": "https://api.github.com/repos/naosim/markdown2sqltable/assignees{/user}", "branches_url": "https://api.github.com/repos/naosim/markdown2sqltable/branches{/branch}", "tags_url": "https://api.github.com/repos/naosim/markdown2sqltable/tags", "blobs_url": "https://api.github.com/repos/naosim/markdown2sqltable/git/blobs{/sha}", "git_tags_url": "https://api.github.com/repos/naosim/markdown2sqltable/git/tags{/sha}", "git_refs_url": "https://api.github.com/repos/naosim/markdown2sqltable/git/refs{/sha}", "trees_url": "https://api.github.com/repos/naosim/markdown2sqltable/git/trees{/sha}", "statuses_url": "https://api.github.com/repos/naosim/markdown2sqltable/statuses/{sha}", "languages_url": "https://api.github.com/repos/naosim/markdown2sqltable/languages", "stargazers_url": "https://api.github.com/repos/naosim/markdown2sqltable/stargazers", "contributors_url": "https://api.github.com/repos/naosim/markdown2sqltable/contributors", "subscribers_url": "https://api.github.com/repos/naosim/markdown2sqltable/subscribers", "subscription_url": "https://api.github.com/repos/naosim/markdown2sqltable/subscription", "commits_url": "https://api.github.com/repos/naosim/markdown2sqltable/commits{/sha}", "git_commits_url": "https://api.github.com/repos/naosim/markdown2sqltable/git/commits{/sha}", "comments_url": "https://api.github.com/repos/naosim/markdown2sqltable/comments{/number}", "issue_comment_url": "https://api.github.com/repos/naosim/markdown2sqltable/issues/comments{/number}", "contents_url": "https://api.github.com/repos/naosim/markdown2sqltable/contents/{+path}", "compare_url": "https://api.github.com/repos/naosim/markdown2sqltable/compare/{base}...{head}", "merges_url": "https://api.github.com/repos/naosim/markdown2sqltable/merges", "archive_url": "https://api.github.com/repos/naosim/markdown2sqltable/{archive_format}{/ref}", "downloads_url": "https://api.github.com/repos/naosim/markdown2sqltable/downloads", "issues_url": "https://api.github.com/repos/naosim/markdown2sqltable/issues{/number}", "pulls_url": "https://api.github.com/repos/naosim/markdown2sqltable/pulls{/number}", "milestones_url": "https://api.github.com/repos/naosim/markdown2sqltable/milestones{/number}", "notifications_url": "https://api.github.com/repos/naosim/markdown2sqltable/notifications{?since,all,participating}", "labels_url": "https://api.github.com/repos/naosim/markdown2sqltable/labels{/name}", "releases_url": "https://api.github.com/repos/naosim/markdown2sqltable/releases{/id}", "deployments_url": "https://api.github.com/repos/naosim/markdown2sqltable/deployments", "created_at": "2018-06-13T19:40:36Z", "updated_at": "2018-06-22T08:33:42Z", "pushed_at": "2018-06-22T08:33:41Z", "git_url": "git://github.com/naosim/markdown2sqltable.git", "ssh_url": "git@github.com:naosim/markdown2sqltable.git", "clone_url": "https://github.com/naosim/markdown2sqltable.git", "svn_url": "https://github.com/naosim/markdown2sqltable", "homepage": null, "size": 10, "stargazers_count": 0, "watchers_count": 0, "language": "JavaScript", "has_issues": true, "has_projects": true, "has_downloads": true, "has_wiki": true, "has_pages": true, "forks_count": 0, "mirror_url": null, "archived": false, "open_issues_count": 0, "license": { "key": "mit", "name": "MIT License", "spdx_id": "MIT", "url": "https://api.github.com/licenses/mit", "node_id": "MDc6TGljZW5zZTEz" }, "forks": 0, "open_issues": 0, "watchers": 0, "default_branch": "master" } }, "base": { "label": "naosim:master", "ref": "master", "sha": "7782e20a6d4ae6b762db651225d889bf4307fa2e", "user": { "login": "naosim", "id": 87138, "node_id": "MDQ6VXNlcjg3MTM4", "avatar_url": "https://avatars0.githubusercontent.com/u/87138?v=4", "gravatar_id": "", "url": "https://api.github.com/users/naosim", "html_url": "https://github.com/naosim", "followers_url": "https://api.github.com/users/naosim/followers", "following_url": "https://api.github.com/users/naosim/following{/other_user}", "gists_url": "https://api.github.com/users/naosim/gists{/gist_id}", "starred_url": "https://api.github.com/users/naosim/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/naosim/subscriptions", "organizations_url": "https://api.github.com/users/naosim/orgs", "repos_url": "https://api.github.com/users/naosim/repos", "events_url": "https://api.github.com/users/naosim/events{/privacy}", "received_events_url": "https://api.github.com/users/naosim/received_events", "type": "User", "site_admin": false }, "repo": { "id": 137262471, "node_id": "MDEwOlJlcG9zaXRvcnkxMzcyNjI0NzE=", "name": "markdown2sqltable", "full_name": "naosim/markdown2sqltable", "owner": { "login": "naosim", "id": 87138, "node_id": "MDQ6VXNlcjg3MTM4", "avatar_url": "https://avatars0.githubusercontent.com/u/87138?v=4", "gravatar_id": "", "url": "https://api.github.com/users/naosim", "html_url": "https://github.com/naosim", "followers_url": "https://api.github.com/users/naosim/followers", "following_url": "https://api.github.com/users/naosim/following{/other_user}", "gists_url": "https://api.github.com/users/naosim/gists{/gist_id}", "starred_url": "https://api.github.com/users/naosim/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/naosim/subscriptions", "organizations_url": "https://api.github.com/users/naosim/orgs", "repos_url": "https://api.github.com/users/naosim/repos", "events_url": "https://api.github.com/users/naosim/events{/privacy}", "received_events_url": "https://api.github.com/users/naosim/received_events", "type": "User", "site_admin": false }, "private": false, "html_url": "https://github.com/naosim/markdown2sqltable", "description": "markdownからsqlのCreateTaboe文等を生成する", "fork": false, "url": "https://api.github.com/repos/naosim/markdown2sqltable", "forks_url": "https://api.github.com/repos/naosim/markdown2sqltable/forks", "keys_url": "https://api.github.com/repos/naosim/markdown2sqltable/keys{/key_id}", "collaborators_url": "https://api.github.com/repos/naosim/markdown2sqltable/collaborators{/collaborator}", "teams_url": "https://api.github.com/repos/naosim/markdown2sqltable/teams", "hooks_url": "https://api.github.com/repos/naosim/markdown2sqltable/hooks", "issue_events_url": "https://api.github.com/repos/naosim/markdown2sqltable/issues/events{/number}", "events_url": "https://api.github.com/repos/naosim/markdown2sqltable/events", "assignees_url": "https://api.github.com/repos/naosim/markdown2sqltable/assignees{/user}", "branches_url": "https://api.github.com/repos/naosim/markdown2sqltable/branches{/branch}", "tags_url": "https://api.github.com/repos/naosim/markdown2sqltable/tags", "blobs_url": "https://api.github.com/repos/naosim/markdown2sqltable/git/blobs{/sha}", "git_tags_url": "https://api.github.com/repos/naosim/markdown2sqltable/git/tags{/sha}", "git_refs_url": "https://api.github.com/repos/naosim/markdown2sqltable/git/refs{/sha}", "trees_url": "https://api.github.com/repos/naosim/markdown2sqltable/git/trees{/sha}", "statuses_url": "https://api.github.com/repos/naosim/markdown2sqltable/statuses/{sha}", "languages_url": "https://api.github.com/repos/naosim/markdown2sqltable/languages", "stargazers_url": "https://api.github.com/repos/naosim/markdown2sqltable/stargazers", "contributors_url": "https://api.github.com/repos/naosim/markdown2sqltable/contributors", "subscribers_url": "https://api.github.com/repos/naosim/markdown2sqltable/subscribers", "subscription_url": "https://api.github.com/repos/naosim/markdown2sqltable/subscription", "commits_url": "https://api.github.com/repos/naosim/markdown2sqltable/commits{/sha}", "git_commits_url": "https://api.github.com/repos/naosim/markdown2sqltable/git/commits{/sha}", "comments_url": "https://api.github.com/repos/naosim/markdown2sqltable/comments{/number}", "issue_comment_url": "https://api.github.com/repos/naosim/markdown2sqltable/issues/comments{/number}", "contents_url": "https://api.github.com/repos/naosim/markdown2sqltable/contents/{+path}", "compare_url": "https://api.github.com/repos/naosim/markdown2sqltable/compare/{base}...{head}", "merges_url": "https://api.github.com/repos/naosim/markdown2sqltable/merges", "archive_url": "https://api.github.com/repos/naosim/markdown2sqltable/{archive_format}{/ref}", "downloads_url": "https://api.github.com/repos/naosim/markdown2sqltable/downloads", "issues_url": "https://api.github.com/repos/naosim/markdown2sqltable/issues{/number}", "pulls_url": "https://api.github.com/repos/naosim/markdown2sqltable/pulls{/number}", "milestones_url": "https://api.github.com/repos/naosim/markdown2sqltable/milestones{/number}", "notifications_url": "https://api.github.com/repos/naosim/markdown2sqltable/notifications{?since,all,participating}", "labels_url": "https://api.github.com/repos/naosim/markdown2sqltable/labels{/name}", "releases_url": "https://api.github.com/repos/naosim/markdown2sqltable/releases{/id}", "deployments_url": "https://api.github.com/repos/naosim/markdown2sqltable/deployments", "created_at": "2018-06-13T19:40:36Z", "updated_at": "2018-06-22T08:33:42Z", "pushed_at": "2018-06-22T08:33:41Z", "git_url": "git://github.com/naosim/markdown2sqltable.git", "ssh_url": "git@github.com:naosim/markdown2sqltable.git", "clone_url": "https://github.com/naosim/markdown2sqltable.git", "svn_url": "https://github.com/naosim/markdown2sqltable", "homepage": null, "size": 10, "stargazers_count": 0, "watchers_count": 0, "language": "JavaScript", "has_issues": true, "has_projects": true, "has_downloads": true, "has_wiki": true, "has_pages": true, "forks_count": 0, "mirror_url": null, "archived": false, "open_issues_count": 0, "license": { "key": "mit", "name": "MIT License", "spdx_id": "MIT", "url": "https://api.github.com/licenses/mit", "node_id": "MDc6TGljZW5zZTEz" }, "forks": 0, "open_issues": 0, "watchers": 0, "default_branch": "master" } }, "_links": { "self": { "href": "https://api.github.com/repos/naosim/markdown2sqltable/pulls/2" }, "html": { "href": "https://github.com/naosim/markdown2sqltable/pull/2" }, "issue": { "href": "https://api.github.com/repos/naosim/markdown2sqltable/issues/2" }, "comments": { "href": "https://api.github.com/repos/naosim/markdown2sqltable/issues/2/comments" }, "review_comments": { "href": "https://api.github.com/repos/naosim/markdown2sqltable/pulls/2/comments" }, "review_comment": { "href": "https://api.github.com/repos/naosim/markdown2sqltable/pulls/comments{/number}" }, "commits": { "href": "https://api.github.com/repos/naosim/markdown2sqltable/pulls/2/commits" }, "statuses": { "href": "https://api.github.com/repos/naosim/markdown2sqltable/statuses/2f89a166a60e4be0abfe65e8b077bca7d39774df" } }, "author_association": "OWNER", "merged": true, "mergeable": null, "rebaseable": null, "mergeable_state": "unknown", "merged_by": { "login": "naosim", "id": 87138, "node_id": "MDQ6VXNlcjg3MTM4", "avatar_url": "https://avatars0.githubusercontent.com/u/87138?v=4", "gravatar_id": "", "url": "https://api.github.com/users/naosim", "html_url": "https://github.com/naosim", "followers_url": "https://api.github.com/users/naosim/followers", "following_url": "https://api.github.com/users/naosim/following{/other_user}", "gists_url": "https://api.github.com/users/naosim/gists{/gist_id}", "starred_url": "https://api.github.com/users/naosim/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/naosim/subscriptions", "organizations_url": "https://api.github.com/users/naosim/orgs", "repos_url": "https://api.github.com/users/naosim/repos", "events_url": "https://api.github.com/users/naosim/events{/privacy}", "received_events_url": "https://api.github.com/users/naosim/received_events", "type": "User", "site_admin": false }, "comments": 1, "review_comments": 1, "maintainer_can_modify": false, "commits": 2, "additions": 20, "deletions": 7, "changed_files": 2 }
プルリクエストのコードに対するコメント一覧を取得する
curl https://api.github.com/repos/naosim/markdown2sqltable/pulls/2/comments?access_token=$token -s | jq
結果
[ { "url": "https://api.github.com/repos/naosim/markdown2sqltable/pulls/comments/197603155", "pull_request_review_id": 131385422, "id": 197603155, "node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5NzYwMzE1NQ==", "diff_hunk": "@@ -5,7 +5,7 @@ markdownからsqlのCreateTaboe文等を生成する\n ### markdownでDB設計をする\n #### 例\n ```\n-項番 | 項目名 | 項目名(英字) | PK | FK | IDX | 型 | NOT NULL | 備考 \n+項番 | 項目名 | カラム名 | PK | FK | IDX | 型 | NOTNULL | 備考", "path": "README.md", "position": 5, "original_position": 5, "commit_id": "2f89a166a60e4be0abfe65e8b077bca7d39774df", "original_commit_id": "2f89a166a60e4be0abfe65e8b077bca7d39774df", "user": { "login": "naosim", "id": 87138, "node_id": "MDQ6VXNlcjg3MTM4", "avatar_url": "https://avatars0.githubusercontent.com/u/87138?v=4", "gravatar_id": "", "url": "https://api.github.com/users/naosim", "html_url": "https://github.com/naosim", "followers_url": "https://api.github.com/users/naosim/followers", "following_url": "https://api.github.com/users/naosim/following{/other_user}", "gists_url": "https://api.github.com/users/naosim/gists{/gist_id}", "starred_url": "https://api.github.com/users/naosim/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/naosim/subscriptions", "organizations_url": "https://api.github.com/users/naosim/orgs", "repos_url": "https://api.github.com/users/naosim/repos", "events_url": "https://api.github.com/users/naosim/events{/privacy}", "received_events_url": "https://api.github.com/users/naosim/received_events", "type": "User", "site_admin": false }, "body": "コメント to code", "created_at": "2018-06-23T05:20:11Z", "updated_at": "2018-06-23T05:20:14Z", "html_url": "https://github.com/naosim/markdown2sqltable/pull/2#discussion_r197603155", "pull_request_url": "https://api.github.com/repos/naosim/markdown2sqltable/pulls/2", "author_association": "OWNER", "_links": { "self": { "href": "https://api.github.com/repos/naosim/markdown2sqltable/pulls/comments/197603155" }, "html": { "href": "https://github.com/naosim/markdown2sqltable/pull/2#discussion_r197603155" }, "pull_request": { "href": "https://api.github.com/repos/naosim/markdown2sqltable/pulls/2" } } } ]
プルリクエストに対するコメント一覧を取得する
curl https://api.github.com/repos/naosim/markdown2sqltable/issues/2/comments?access_token=$token -s | jq
結果
[ { "url": "https://api.github.com/repos/naosim/markdown2sqltable/issues/comments/399633110", "html_url": "https://github.com/naosim/markdown2sqltable/pull/2#issuecomment-399633110", "issue_url": "https://api.github.com/repos/naosim/markdown2sqltable/issues/2", "id": 399633110, "node_id": "MDEyOklzc3VlQ29tbWVudDM5OTYzMzExMA==", "user": { "login": "naosim", "id": 87138, "node_id": "MDQ6VXNlcjg3MTM4", "avatar_url": "https://avatars0.githubusercontent.com/u/87138?v=4", "gravatar_id": "", "url": "https://api.github.com/users/naosim", "html_url": "https://github.com/naosim", "followers_url": "https://api.github.com/users/naosim/followers", "following_url": "https://api.github.com/users/naosim/following{/other_user}", "gists_url": "https://api.github.com/users/naosim/gists{/gist_id}", "starred_url": "https://api.github.com/users/naosim/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/naosim/subscriptions", "organizations_url": "https://api.github.com/users/naosim/orgs", "repos_url": "https://api.github.com/users/naosim/repos", "events_url": "https://api.github.com/users/naosim/events{/privacy}", "received_events_url": "https://api.github.com/users/naosim/received_events", "type": "User", "site_admin": false }, "created_at": "2018-06-23T05:19:52Z", "updated_at": "2018-06-23T05:19:52Z", "author_association": "OWNER", "body": "コメント to pr" } ]
まとめ
これで次から楽になるはず