GraphQL API is not graph-like enough

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

  • Close this issue

I'm having a hard time getting the most of the GraphQL API which is not very "graph"-like in its current implementation. For instance, I would like to retrieve the successful pipelines along with the related commit description, and the problem I'm facing is that the Pipeline object has a sha field where it should have a Commit. So I'm stuck with this:

query {
  project(fullPath: "my project") {
    pipelines(status: SUCCESS) {
      edges {
        node {          
          iid
          sha
          finishedAt
        }
      }
    }
  }
}

where I should be able to do this:

query {
  project(fullPath: "my project") {
    pipelines(status: SUCCESS) {
      edges {
        node {          
          iid
          commit {
            title
          }
          finishedAt
        }
      }
    }
  }
}

This kind of limitation occurs at multiple places.

Edited Sep 04, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading