Skip to content

Display work item Epic in legacy issue sidebar

What does this MR do and why?

Right now, there is no way to assign an Epic work item (a group level work item) to an issue. This MR adds ability to assign a Epic work item to an issue.

If the FF display_work_item_epic_issue_sidebar is enabled, this MR will

  • list legacy Epics and Epic work items in the Epic sidebar widget of an issue without search functionality
  • allow setting a legacy Epic or Epic work item from the issue sidebar

If the FF is disabled,

  • Only legacy Epics will be listed with search functionality
  • allow setting legacy Epic from the issue sidebar

Note: Backend search support for group level work items #393126 (closed) (part of &8778) is still in progress so searching Epic work items is not supported when feature flag is enabled.

References to the note:

  1. #423984 (comment 1628488234)
  2. #423984 (comment 1678246337)

Screenshots or screen recordings

Screen Recording 2023-12-04 at 9.11.47 PM.mov

How to set up and validate locally

Prerequisites:

  1. Enable the feature flags
    • Feature.enable(:display_work_item_epic_issue_sidebar)
    • Feature.enable(:namespace_level_work_items)
  2. The namespace must have Ultimate plan.

Steps to verify:

  1. Login with any user

  2. Go to any Group > Epics

  3. Modify the link path from /epics to /work_items like below

    Screen Recording 2023-12-04 at 9.12.31 PM.mov

  4. Create a new Epic

  5. Go to any Project of the group

  6. Navigate to Issues > Issue detail

  7. In the sidebar, click on Edit button of Epic field

  8. Check if searching is not supported and the newly created Epic work item is visible

  9. Select the Epic work item

  10. Check if it is updated on the issue

In addition to above flow, it also affects the issues sidebar on the Epic and issue boards

After performing above,

  1. Visit Project > Issue boards or Group > Issue boards
  2. Click on the issue card to open a sidebar
  3. Check if searching is not supported and the newly created Epic work item is visible
  4. Select the Epic work item
  5. Check if it is updated on the issue

Moreover, the update flow has graphql subscription and supports syncing of the Epic field value.

To check that, perform all the creation steps of Epic and Issue, after that

  1. Login with a different user in incognito mode
  2. Update the Epic with normal user
  3. Check if the data is updated in both the browser window

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #423984 (closed)

Edited by Rajan Mistry

Merge request reports