This repository has been archived by the owner on Apr 14, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 15
Github
Yuri Schimke edited this page Jul 18, 2018
·
16 revisions
- Approve agreement for prerelease https://github.com/prerelease/agreement
- Generate a token with (repo + user) https://github.com/settings/tokens
- Install githubql and authenticate with the token above
$ brew install yschimke/tap/githubql
$ okurl --authorize github --token 9999999999999999999999999999999999999999
Then experiment with queries https://graphql-explorer.githubapp.com/ and then execute from the command line. First argument is either an inline query or a file e.g. @myquery.graphql. The second argument is optional and is used as variables.
$ githubql '{ viewer { login } }'
{
"data": {
"viewer": {
"login": "yschimke"
}
}
}
$ githubql 'query Search($q: String!) {
search(query: $q, type: USER, first: 2) {
edges {
node {
... on User {
name
}
}
}
}
}' '{"q": "schimke" }'
{
"data": {
"search": {
"edges": [
{
"node": {
"name": "Yuri Schimke"
}
},
{
"node": {
"name": "Sascha Schimke"
}
}
]
}
}
}
Post a mutation
$ githubql 'mutation ExampleMutation {
addComment(input: {
subjectId: "MDU6SXNzdWUxNTczMzg4ODk="
body: "test"
}) {
commentEdge {
node {
author {
name
}
repository {
name
}
}
}
}
}'
$ okurl https://api.github.com
{
"current_user_url": "https://api.github.com/user",
"current_user_authorizations_html_url": "https://github.com/settings/connections/applications{/client_id}",
"authorizations_url": "https://api.github.com/authorizations",
"code_search_url": "https://api.github.com/search/code?q={query}{&page,per_page,sort,order}",
"emails_url": "https://api.github.com/user/emails",
"emojis_url": "https://api.github.com/emojis",
"events_url": "https://api.github.com/events",
"feeds_url": "https://api.github.com/feeds",
"followers_url": "https://api.github.com/user/followers",
"following_url": "https://api.github.com/user/following{/target}",
"gists_url": "https://api.github.com/gists{/gist_id}",
"hub_url": "https://api.github.com/hub",
"issue_search_url": "https://api.github.com/search/issues?q={query}{&page,per_page,sort,order}",
"issues_url": "https://api.github.com/issues",
"keys_url": "https://api.github.com/user/keys",
"notifications_url": "https://api.github.com/notifications",
"organization_repositories_url": "https://api.github.com/orgs/{org}/repos{?type,page,per_page,sort}",
"organization_url": "https://api.github.com/orgs/{org}",
"public_gists_url": "https://api.github.com/gists/public",
"rate_limit_url": "https://api.github.com/rate_limit",
"repository_url": "https://api.github.com/repos/{owner}/{repo}",
"repository_search_url": "https://api.github.com/search/repositories?q={query}{&page,per_page,sort,order}",
"current_user_repositories_url": "https://api.github.com/user/repos{?type,page,per_page,sort}",
"starred_url": "https://api.github.com/user/starred{/owner}{/repo}",
"starred_gists_url": "https://api.github.com/gists/starred",
"team_url": "https://api.github.com/teams",
"user_url": "https://api.github.com/users/{user}",
"user_organizations_url": "https://api.github.com/user/orgs",
"user_repositories_url": "https://api.github.com/users/{user}/repos{?type,page,per_page,sort}",
"user_search_url": "https://api.github.com/search/users?q={query}{&page,per_page,sort,order}"
}
$ okurl https://api.github.com/repos/yschimke/okurl/issues | jq .[].title
"call jq by default and add a raw mode"
"check running on linux"