Uploaded image for project: 'OpenShift Pipelines'
  1. OpenShift Pipelines
  2. SRVKP-9201

QE [1.21.x] Enhance Group-Based ApprovalTask to Preserve Member Messages

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Major Major
    • Pipelines 1.21.0
    • None
    • QA
    • None

       

      Story:
      As a pipeline approver who approves or rejects a group-based ApprovalTask,
      I want my approval message to be visible at both the group and individual member levels,
      so that other stakeholders can easily understand the reasoning behind approval decisions without drilling into nested group member details.


      Background

      Manual Approval Gate supports both individual and group approvers.
      When users approve/reject as part of a group, they can include a message explaining their decision.

      Currently:

      • Group-level messages are not consistently visible.
      • Individual member messages are buried inside nested data structures.
      • actions.go doesn’t properly store messages in the UserDetails struct.

      This story addresses those issues by ensuring messages propagate correctly from CLI → group → individual level.


       Problem Summary

      1. Group-level message visibility – When multiple group members approve/reject, the latest message should be shown at the group level.
      1. Individual message preservation – Each member’s message should remain in the groupMembers array.
      1. Proper propagation – Ensure messages are stored in both approver.Message (group) and user.Message (individual).

       Out of Scope

      • Timestamps or message versioning

       Dependencies

      • Uses existing Go modules (go.mod)
      • No external services or APIs involved

       Acceptance Criteria

      Scenario Expected Behavior
      User provides -m flag Message is stored at both group and individual levels
      User omits -m flag Message remains empty
      Multiple group members approve Group-level message shows latest responder’s message; individual messages preserved

       INVEST Checklist

      • Independent – no external blockers
      • Negotiable – scoped to backend only
      • Valuable – improves visibility of approvals
      • Estimable – 1–2 small code changes
      • Small – confined to actions.go and message flow
      • Testable – can be validated via CLI and status check

      Definition of Done

      • Code implemented, reviewed, and merged
      • Unit tests added or updated
      • CI pipelines passing cleanly
      • Verified in staging or canary

       

              Unassigned Unassigned
              rh-ee-apalit Anwesha Palit
              Sri Vignesh Selvan Sri Vignesh Selvan
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:

                  Estimated:
                  Original Estimate - 2 minutes
                  2m
                  Remaining:
                  Remaining Estimate - 2 minutes
                  2m
                  Logged:
                  Time Spent - Not Specified
                  Not Specified