Skip to content

Add link paths for release progress view to GraphQL

Nathan Friend requested to merge nfriend-add-release-progress-link-paths into master

What does this MR do?

Adds 5 new fields to the Release GraphQL type:

  • openMergeRequestsUrl
  • mergedMergeRequestsUrl
  • closedMergeRequestsUrl
  • openIssuesUrl
  • closedIssuesUrl

These URLs will be used to link the user from the release progress view to the issue and merge request search pages:

image

Currently the numbers render as plain text; once the frontend begins requesting these fields, the numbers will be rendered as links as shown in the screenshot above.

What doesn't this MR do?

This MR does not add these properties to the Release REST API. These links will be added in a separate MR.

Example query/response

Query:

{
  project(fullPath: "root/release-test") {
    release(tagName: "v5.10") {
      links {
        openIssuesUrl
        closedIssuesUrl
        openMergeRequestsUrl
        mergedMergeRequestsUrl
        closedMergeRequestsUrl
        
        # These fields are now deprecated
        issuesUrl
        mergeRequestsUrl
      }
    }
  }
}

Response:

{
  "data": {
    "project": {
      "release": {
        "links": {
          "openIssuesUrl": "http://0.0.0.0:3000/root/release-test/-/issues?release_tag=v5.10&scope=all&state=opened",
          "closedIssuesUrl": "http://0.0.0.0:3000/root/release-test/-/issues?release_tag=v5.10&scope=all&state=closed",
          "openMergeRequestsUrl": "http://0.0.0.0:3000/root/release-test/-/merge_requests?release_tag=v5.10&scope=all&state=opened",
          "mergedMergeRequestsUrl": "http://0.0.0.0:3000/root/release-test/-/merge_requests?release_tag=v5.10&scope=all&state=merged",
          "closedMergeRequestsUrl": "http://0.0.0.0:3000/root/release-test/-/merge_requests?release_tag=v5.10&scope=all&state=closed",
          "issuesUrl": "http://0.0.0.0:3000/root/release-test/-/issues?release_tag=v5.10&scope=all&state=opened",
          "mergeRequestsUrl": "http://0.0.0.0:3000/root/release-test/-/merge_requests?release_tag=v5.10&scope=all&state=opened"
        }
      }
    }
  }
}

Feature flag

These URLs are only available if the release_mr_issue_urls feature flag is enabled. This is an existing flag, so it is already defaulted to on.

Related to #205349 (closed)

Edited by Nathan Friend

Merge request reports