Add link paths for release progress view to GraphQL
What does this MR do?
Adds 5 new fields to the Release GraphQL type:
openMergeRequestsUrlmergedMergeRequestsUrlclosedMergeRequestsUrlopenIssuesUrlclosedIssuesUrl
These URLs will be used to link the user from the release progress view to the issue and merge request search pages:
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
