Skip to content

Latest commit

 

History

History
85 lines (46 loc) · 4.05 KB

manual.md

File metadata and controls

85 lines (46 loc) · 4.05 KB

Select roles that can execute manual judgment stage

Status Proposed, Accepted, Implemented, Obsolete
RFC # spinnaker/deck#8700
Author(s) Rumit Rout (@rumit-opsmx) (https://github.com/rumit-opsmx)
SIG / WG sig-ux

Overview

If there are many pipelines it may be difficult for the user to serially check all the pipelines that are waiting for manual judgement. So we need a functionality which will filter out all the pipelines that require manual intervention.

To implement such a feature we added a stage filter ( Manual Judgement ) that filters the pipelines based on if any of the pipelines are waiting on manual judgement also add a visual notification for the stages that are waiting on manual judgement and on clicking on these stages will take you to the leaf child of the pipeline stage which is actually waiting on the manual judgement.

Goals and Non-Goals

Add a filter for filtering pipelines waiting on manual judgment. Checking this filter will automatically select the running stage filter and disable it(since all manual judjement pipelines are running). on deselecting the manual judgment filter the running filter will be enabled but still selected.

There will be a visual indication on all the stages that are waiting on manual judgment and on clicking on the stage will take you to the root pipeline waiting on manual judgment.

Motivation and Rationale

If there are many pipelines it may be difficult for the user to serially check all the pipelines that are waiting for manual judgement. We need an Easy way to filter for pipelines waiting on Manual Judgment.

If we have a pipeline that is waiting on manual judgement then all the other pipelines that are waiting for this pipeline to be executed will be in the waiting stage. Clicking on any of the waiting stages will directly take you to the pipeline waiting on manual judgment.

Timeline

Already Implemented

Design

  1. Enhanced FilterModelService.ts to

added a filter tag for manual judgment and enhanced the clear filter functionality to clear manual judgment filter.

  1. Enhanced IFilterModel to

added filterStages and stages to ISortFilter

  1. Enhanced Execution.tsx to

added goToParent and manualJudgment to IExecutionProps added a finalChild function that recursively finds the final child pipeline waiting on manual judgment.

  1. Enhanced ExecutionMarker.tsx to

Added a manual judgment status whether the stage’s child pipeline is waiting on manual Judgment. Added the functionality so when a stage whose child pipeline is waiting on manual judgment is clicked then it scrolls to the leaf pipeline waiting on the manual judgment.

  1. Enhanced executionMarker.less to

added a visual indicator to the stages waiting on manual judgment.

  1. Enhanced ExecutionGroups.tsx to

added an id to the Execution group level so that we can scroll to the execution group in case the execution group is collapsed.

  1. Enhanced ExecutionGroup.tsx to

added a function to go to root pipeline waiting on manual judgment. if the execution group is collapsed then it will move the focus to the execution group header instead. created a function to filter all the executions that contain manual judgement Created a object containing all executions that are waiting on manual judgment and it's immidiate child

  1. Enhanced ExecutionFilterModel.ts to added a filterstages property to sortfilter to extend the functionality and to reuse the same object to add other filters to the stages in future.

  2. Enhanced ExecutionFilters.tsx to created a new component to be used for stage filter for filtering Manual Judgment filter. it can be reused to add more stage filter in the future.

  3. Enhanced executionFilter.service.ts to

enhance the clearFilters function to clear all the stageFilters also.

  1. Enhanced ProjectPipeline.tsx to

add a default value to support the scroll to leaf if pipeline is waiting on manual judgment functionality.

Rest of the changes are related to passing props to corresponding components.