New mutation to link an MR with a WorkItem by MR reference
Work items will have a development widget as described in New mutation to link an MR with a WorkItem by M... (#454136 - closed)
We want the development widget to list "hard links" between work items and merge requests. Today, we already have a DB table that contains hard links between work items (issues
) and merge requests (merge_requests_closing_issues
). This table is populated by parsing MR descriptions if a closing pattern is enabled. We then use these records to close associated issues when the associated MR is accepted/merged.
Implementation proposal
- We reuse the
merge_requests_closing_issues
table to keep hard links between work items and merge requests (both closing and only related links) - We add a new enum column to the table currently for two values link_type(closes, related) (column NOT NULL default closes).
- We preserve existing behavior when records in the
merge_requests_closing_issues
table are oflink_type
closes. - We rename the active record model to something more appropriate (keep using the same table name for now)
- We add a new mutation that allows creating
related
links between work items and MRs. Existing logic about issue closing patterns should only pick records that have alink_type
"closes". - Work items can fetch a list of related MRs via GraphQL's development widget (both closes and related link types)
- In later iterations we do the multi-milestone process of renaming the table
merge_requests_closing_issues
to something more appropriate
Edited by Mario Celi