[UX Issue] Duo Agent Platform - Fix Failed Pipeline

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

UX Issue: Duo Workflow - Fix Failed Pipeline

Background

GitLab pipelines frequently fail for various reasons, ranging from code issues to configuration problems to external factors. Currently, our Root Cause Analysis tool (available in Duo Enterprise) has limitations:

  • Limited context (only last 100k lines of job logs)
  • Suggested fixes aren't based on actual project code
  • Poor UX requiring users to manually review each failing job

We need to create an AI-powered solution that streamlines the pipeline repair process, saving developer time and reducing frustration.

User Flows

Based on our research, we've identified three key user flows for pipeline failure remediation:

Flow 1: Simple Failure with Single Fix Option (User Flow)

User Story: As a developer (Sasha), I want to quickly fix a simple pipeline failure with a clear solution so I can continue my work without significant disruption.

Trigger:

  • Pipeline fails with a straightforward error (e.g., missing dependency, simple syntax error)
  • System can determine a single high-confidence fix

Proposed UX (Draft):

  1. Pipeline fails at the MR stage and Duo analysis begins automatically
    • Triggering user receives failed pipeline notification with additional prompt Duo is taking a look.
    • Once analysis completes, user receives a comment notification from Duo with a suggestion to apply to the MR.
      • User clicks notification and sees:
        • Clear explanation of the error and fix.
        • Preview of the proposed change.
    • User reviews and has options to:
      • Apply suggestion and commit the change.
      • Modify the suggested fix before applying.
      • Decline the fix and ask Duo to redo.

Flow 2: Complex Failure with Multiple Fix Options (User Flow)

User Story: As a team lead (Delaney), I want to understand complex pipeline failures and select the most appropriate fix from multiple options, considering downstream impacts.

Trigger:

  • Pipeline fails with complicated errors (multiple failing jobs, unclear root cause)
  • System identifies several potential solutions with varying confidence levels

Proposed UX:

  1. Pipeline fails at the MR stage and Duo analysis begins automatically
    • Triggering user receives failed pipeline notification with additional prompt Duo is taking a look.
    • Once analysis completes, user receives a comment notification from Duo with two suggestions on how to fix the pipeline.
      • User clicks notification and sees:
        • Two suggestions.
        • The pros and cons of each suggestion.
        • Duo's confidence in each suggestion.
    • User reviews and has options to:
      • Go forward with a suggestion.
      • Decline the fix and ask Duo to redo.
    • Once a user has chose a suggestion, Duo proceeds to create a fix.
    • Once Duo creates the fix, user receives a comment notification from Duo with a suggestion to apply to the MR.
      • User clicks notification and sees:
        • Clear explanation of the chosen fix.
        • Preview of the proposed change.
      • User reviews and has options to:
        • Apply suggestion and commit the change.
        • Modify the suggested fix before applying
        • Decline the fix and ask Duo to redo.

Flow 3: Standalone Pipeline Failure (No Associated MR) (User Flow DRAFT)

User Story: As a release manager, I need to address pipeline failures in production branches that aren't associated with specific MRs, ensuring minimal disruption to release schedules.

Trigger:

  • Pipeline fails in a production/release branch
  • No active MR is associated with the pipeline
  • Fix is needed to unblock release process

Proposed UX:

  1. User accesses failed pipeline within the pipeline page.
  2. User explores the job that failed.
  3. User initiates "Fix with Duo" process through a CTA on the job page.
  4. Duo analyzes pipeline failure with additional context
  5. Duo presents fix options in Duo Chat pannel with:
    • Two suggestions.
    • The pros and cons of each suggestion.
    • Duo's confidence in each suggestion.
  6. User selects approach and Duo:
    • Creates new branch for fix if needed.
    • Generates appropriate MR targeting the correct branch.
    • Adds relevant reviewers based on code ownership.
    • Includes detailed explanation in MR description.
Edited by Emily Bauman