Skip to content

Remove release `issues_url` and `merge_requests_url` from REST/GraphQL

Nathan Friend requested to merge remove-issues_url-and-merge_requests_url into master

What does this MR do?

Removes two fields - issues_url and merge_requests_url from our REST and GraphQL APIs.

Why?

These fields were originally added to support the Release Progress View (#31289 (closed)) which shows issue and MR stats for each release (computed through the release's associated milestone(s)).

However, as we refined the design of this feature, we realized we needed more specific URLs - URLs that contain specific states (opened, closed, merged). These more specific URLs were added to the GraphQL endpoint in !46161 (merged).

Because of this, we no longer need the more generic issues_url and merge_requests_url fields.

Is this a breaking API change?

No. All of the fields mentioned above - both new and old - are hidden behind a release_mr_issue_urls feature flag which is disabled by default. Because this feature flag has never been enabled by default, they are not officially "released", and are therefore free to be changed/removed without going through the formal deprecation/removal process.

Then why are the GraphQL fields labeled as "deprecated"?

I updated the GraphQL fields issuesUrl and mergeRequestsUrl to be "deprecated" in !46161 (merged) under the assumption these fields had already been released. I later learned they hadn't yet been released (the feature flag has been disabled since they were added), so in retrospect I didn't need to bother deprecating these fields 🤷

(These GraphQL fields should have been labeled with the feature_flag property.)

Related to #205295 (closed)

Edited by Nathan Friend

Merge request reports