Skip to content

Rollup progress updates to parent OKRs

Abhilash Kotte requested to merge add-roll-up-logic-to-okrs into master

What does this MR do and why?

ref gitlab-org/incubation-engineering/okr/meta#7 (closed)

#382433 (comment 1231635569)

This MR introduces rollup updates to progress for OKRs. As of this iteration we are supporting both manual and automatic rollups, more details are here - #382433 (comment 1231635569)

FYI

The current logic will be async post this MR merge - since we are tight for MVC deadline(Jan 18), I took the synchronous route 🙂

Screenshots or screen recordings

Screenshot_2023-01-11_at_7.59.11_PM

How to set up and validate locally

  1. Open rails console by running bin/rails console within GDK directory.
  2. Enable the feature flag :hierarchy_db_restrictions on a project; Feature.enable(:hierarchy_db_restrictions).
  3. Enable the feature flag :okrs_mvc on the same project; Feature.enable(:okrs_mvc).
  4. Enable the feature flag :okr_automatic_rollups on the same project; Feature.enable(:okr_automatic_rollups).
  5. Visit issues list page for the project by navigating to http://gdk.test:3000/gitlab-org/gitlab-test/-/issues.
  6. Create an objective by clicking on dropdown button next to New issue and selecting New objective from the dropdown.
  7. Once objective is created, click on it to visit its Work Item page, you should be able to see Tree View below the description.
  8. Use Add dropdown button create/add key results. 1.Try changing the progress for the Objective and you should see the help note with text about the info regarding progress rollups
  9. Click on any KR to go to it's page and change it's progress and go back to its objective page to see the updates progress

MR acceptance checklist

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

Edited by Abhilash Kotte

Merge request reports