Add support for removing related epics
Related to #351597 (closed).
Add required service and controller to destroy related epic links using an internal endpoint.
The new service should inherit from IssuableLinks::DestroyService
and match the functionality of IssueLinks::DestroyService
.
Similarly to IssueLinksController
, the new controller should include the functionality of IssuableLinks
.
We should create system notes when destroying these links. See SystemNoteService#unrelate_issue
.
This feature would be developed behind a feature flag and needs to perform license checks (implemented in #352439 (closed)).
Existing functionality for removing related issues:
DELETE /*namespace_id/:project_id/-/issues/:issue_id/links/:id
Example Response body
{"issuables":[{"id":1554,"confidential":false,"title":"New Issue Title 972","assignees":[],"state":"opened","milestone":null,"weight":null,"reference":"#1008","path":"/gitlab-org/gitlab-test/-/issues/1008","due_date":null,"created_at":"2021-03-11T10:49:42.297Z","closed_at":null,"relation_path":"/gitlab-org/gitlab-test/-/issues/1037/links/10","link_type":"blocks"}]}
Given that a similar endpoint exists already for epics DELETE /groups/*group_id/-/epics/:epic_id/links/:id
, we have to consider an alternative name.
For example, DELETE /groups/*group_id/-/epics/:epic_id/related_epic_links/:id
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.