View as Markdown
GitLab icon

GitLab ACTION

Resolve Merge Request Thread

Mark a merge request thread as resolved, or reopen a resolved one by setting Resolved to false. Use this after acting on a piece of review feedback — resolving threads is what clears a merge request's blocking_discussions_resolved flag so it can merge. Get the Discussion ID from List Merge Request Discussions (set its Only Unresolved to true to see just the threads still open). Only threads that are resolvable can be resolved: plain comments on the merge request as a whole are not, and GitLab rejects the attempt. See the documentation
  • Action
  • Writes data
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's GitLab account once, then configure and run Resolve Merge Request Thread from your backend or agent.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "gitlab-resolve-merge-request-thread",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    gitlab: { authProvisionId: "apn_xxxxxxx" },
    projectId: "Project",
    mergeRequestIid: 10,
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Resolve Merge Request Thread inputs
Property Type Description
projectId Project string
The project, given either as its path — group/project or group/subgroup/project, e.g. backend/payments — or as its numeric project ID. The path is what appears in the project URL and is usually what a user will name, so prefer it. A pasted GitLab URL also works. Use List Projects to find the path if you only know part of the name.
Required
mergeRequestIid Merge Request IID integer
The merge request's internal ID — the !N shown in the GitLab UI and the number at the end of the merge request URL. This is not the id field, which is a much larger instance-wide number; passing id here returns a 404. Use List Merge Requests or Search Merge Requests to resolve the IID from a title, branch or author.
Required
discussionId Discussion ID string
The ID of a merge request thread — a 40-character hex string. Use List Merge Request Discussions to find it.
Required
resolved Resolved boolean
true (the default) resolves the thread; false reopens a thread that was previously resolved.
Optional

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
gitlab-resolve-merge-request-thread
Version
0.0.1
App
GitLab
Authentication
OAuth
Read-only
No
Destructive
No
Open world
Yes