Skip to content

mr:list / mr:status: expose description, has_conflicts, and blocking_discussions_resolved #366

Description

@mglaman

Summary

mr:list and mr:status expose fewer MR fields than do.php gitlab:mrinfo. Agents reviewing or triaging an MR need to know whether it has conflicts and whether review threads are resolved without fetching the MR again through glab api.

Raised by @tedbow alongside #364: https://github.com/tedbow/ai-config/blob/533b03ec9d263ba9388b8900e8abccbd166ae3f2/todo/drupalorg-mr-list-bug.md

Missing fields

MergeRequestItem currently carries iid, title, source_branch, target_branch, state, web_url, is_mergeable, author, updated_at. GitLab's MR payload also provides:

Field Source Why
description description Agents read the MR body for context and issue links
has_conflicts has_conflicts Distinguishes "needs rebase" from "blocked on review"
blocking_discussions_resolved blocking_discussions_resolved Tells an agent whether review feedback is outstanding

is_mergeable is derived from the deprecated merge_status; detailed_merge_status is the replacement and worth surfacing as-is.

Proposal

Add the fields to MergeRequestItem::fromStdClass() / toArray() and render them in MarkdownFormatter and LlmFormatter. The list endpoint returns them without extra requests, so mr:list gets them for free. mr:status is pipeline-centric today; deciding whether it should also report MR-level state, or whether that belongs in a new mr:show, is the open design question.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions