Add MR widget button to trigger dependency bump Duo flow

What does this MR do and why?

Adds a "Resolve breaking changes with Duo" button to the failed-pipeline widget on the merge request page, which triggers the resolve_dependency_bump/experimental GitLab Duo flow via POST /api/v4/ai/duo_workflows/workflows.

It models the existing "Fix pipeline with Duo" button (mr_duo_fix_pipeline.vue) and reuses the shared DuoWorkflowAction component. The button is gated on a new GraphQL field, Project.duoDependencyBumpBreakingChangesAvailable, which delegates to Project#duo_dependency_bump_breaking_changes_available? (feature flag + project setting + foundational flows + configured consumer).

References

https://gitlab.com/gitlab-org/gitlab/-/work_items/600727

How to set up and validate locally

  1. Ensure the project is on Ultimate with Duo + foundational flows enabled and the resolve_dependency_bump/experimental flow's consumer configured.

  2. Enable the enable_dependency_bump_breaking_changes flag and the project setting as shown below.

    image.png

  3. Open an MR with a failed pipeline; the "Resolve breaking changes with Duo" button appears in the pipeline widget.

image.png

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist.

Edited by Hitesh Raghuvanshi

Merge request reports

Loading