Skip to content

Jump to GraphQL to save some requests? #2

@j0k3r

Description

@j0k3r

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
          }
        }
      }
    }
  }
}

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions