GitLab Extended icon

GitLab Extended

Extended GitLab node

Overview

The node "GitLab Extended" provides extended integration with GitLab, allowing users to interact with various GitLab resources and operations. Specifically for the Merge Request resource and the Update Discussion operation, this node enables updating a discussion within a merge request on a GitLab project.

This operation is useful when you want to programmatically modify the state or content of a discussion thread in a merge request, such as marking it resolved/unresolved or changing its notes. It can be part of automated workflows that manage code review discussions, enforce policies, or update comments based on external triggers.

Practical example:

  • Automatically mark a merge request discussion as resolved after a successful CI pipeline run.
  • Update discussion notes with additional information or links from an external system.

Properties

Name Meaning
Authentication Choose between using saved credentials ("Credential") or providing custom connection details ("Custom").
GitLab Server Base URL of your GitLab instance (e.g., https://gitlab.com). Used only if "Custom" authentication is selected.
Access Token Personal access token with API permissions. Used only if "Custom" authentication is selected.
Project Owner Namespace or owner of the project. Ignored if "Project ID" is set. Used only if "Custom" authentication is selected.
Project Name Project slug or name. Ignored if "Project ID" is set. Used only if "Custom" authentication is selected.
Project ID Numeric project ID. Takes precedence over owner and name if provided. Used only if "Custom" authentication is selected.
Merge Request IID The internal ID (IID) of the merge request to operate on. Must be a positive number.
Discussion ID The unique identifier of the discussion to update (e.g., "123abc").
Resolved Whether to change the resolved state of the discussion:
- Do Not Change
- Resolve
- Unresolve

Output

The node outputs JSON data representing the updated discussion object returned by the GitLab API after the update operation. This typically includes fields such as discussion ID, notes, resolved status, and other metadata related to the discussion.

No binary data output is involved in this operation.

Dependencies

  • Requires access to a GitLab instance, either the public GitLab.com or a self-hosted GitLab server.
  • Requires an API access token with appropriate permissions to read and update merge request discussions.
  • If using "Credential" authentication, the node expects a configured API key credential in n8n.
  • If using "Custom" authentication, the user must provide the GitLab server URL, access token, and project identification parameters.

Troubleshooting

  • Invalid or missing Discussion ID: The operation requires a valid discussion ID string. Ensure the correct discussion ID is provided; otherwise, the API call will fail.
  • Insufficient permissions: The access token must have permission to update merge request discussions. Lack of permissions may result in authorization errors.
  • Invalid Project Identification: When using custom authentication, ensure that either a valid numeric project ID is provided or both project owner and project name are correctly specified.
  • API Rate Limits: Frequent updates might hit GitLab API rate limits, causing temporary failures.
  • Resolved parameter misuse: Setting the "Resolved" property incorrectly (e.g., invalid value) may cause the API to reject the request.

To resolve common errors, verify all required parameters, check API token scopes, and confirm the GitLab server URL is reachable.

Links and References

Discussion