Skip to content

Add Milestone.releases GraphQL field

Alex Kalderimis requested to merge ajk-gql-milestone-releases into master

What does this MR do and why?

Adds the ability to retrieve associated release data for milestones.

See: https://docs.gitlab.com/ee/user/project/releases/#associate-milestones-with-a-release

In the course of doing this, the following bugs were identified and addressed:

This new field is made N+1 safe by preloading the releases association on Milestone.

Example GraphQL query:

query($day: Time!, $version: String) {
  group(fullPath: "gitlab-org") {
    milestones(first: 1, sort: DUE_DATE_ASC, containingDate: $day, searchTitle: $version) {
      nodes {
        title
        releases {
          nodes { name description releasedAt tagName }
        }
      }
    }
  }
}

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Alex Kalderimis

Merge request reports