banditore
banditore copied to clipboard
Jump to GraphQL to save some requests?
Request to retrieve all information from tag & release for a given repository.
This one only use releases:
{
repository(owner: "j0k3r", name: "graby") {
tags: refs(refPrefix: "refs/tags/", first: 5, direction: DESC) {
edges {
tag: node {
name
target {
... on Tag {
sha: oid
message
tagger {
name
date
}
}
}
}
}
}
releases(last: 5) {
nodes {
id
name
description
publishedAt
tag {
name
}
}
}
}
}
This one only use tags:
{
repository(owner: "rails", name: "rails") {
tags: refs(refPrefix: "refs/tags/", first: 5, direction: DESC) {
edges {
tag: node {
name
target {
... on Commit {
message
author {
name
date
}
}
... on Tag {
message
tagger {
name
date
}
}
}
}
}
}
releases(last: 5) {
nodes {
id
name
description
publishedAt
tag {
name
}
}
}
}
}
Request to retrieve starred repositories & all information
First page:
{
user(login: "j0k3r") {
starredRepositories(first: 50, orderBy: {field: STARRED_AT, direction: ASC}) {
pageInfo {
hasNextPage
hasPreviousPage
endCursor
}
edges {
node {
id
name
description
owner {
login
avatarURL
}
}
}
}
}
}
The second one (using the endCursor
as after
parameter and until hasNextPage
is false
):
{
user(login: "j0k3r") {
starredRepositories(first: 50, orderBy: {field: STARRED_AT, direction: ASC}, after: "Y3Vyc29yOjIwMTItMDEtMDRUMTE6MjA6NDgrMDE6MDA=") {
pageInfo {
hasNextPage
hasPreviousPage
endCursor
}
edges {
node {
id
name
description
owner {
login
avatarURL
}
}
}
}
}
}
Rate limit on GraphQL is limited to 200 calls per hour :disappointed: