Actions66
- Branch Actions
- File Actions
- Group Actions
- Issue Actions
- Merge Request Actions
- Pipeline Actions
- Project Actions
- Raw API Actions
- Release Actions
- Tag Actions
Overview
This node extends GitLab API functionality, allowing users to interact with various GitLab resources such as branches, pipelines, files, issues, merge requests, groups, projects, tags, and releases. Specifically for the Merge Request resource and the Update Discussion Note operation, it enables updating a note within a discussion on a merge request.
Use cases include:
- Collaborating on code reviews by updating comments or notes in merge request discussions.
- Automating updates to discussion notes based on external triggers or workflows.
- Managing code review feedback programmatically without manual intervention in the GitLab UI.
For example, you might use this node to update a specific comment in a merge request discussion to reflect new information or decisions made during a CI/CD pipeline run.
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"). Only shown if "Custom" authentication is selected. |
| Access Token | Personal access token with API permissions. Only shown if "Custom" authentication is selected. |
| Project Owner | Namespace or owner of the project. Ignored if "Project ID" is set. Only shown if "Custom" authentication is selected. |
| Project Name | Project slug or name. Ignored if "Project ID" is set. Only shown if "Custom" authentication is selected. |
| Project ID | Numeric project ID. Takes precedence over owner and name if provided. Only shown if "Custom" authentication is selected. |
| Merge Request IID | The internal ID (IID) of the merge request to work with. Must be a positive number. Required. |
| Discussion ID | The ID of the discussion containing the note to update. Required. |
| Note ID | The ID of the existing note to update within the discussion. Must be a positive number. Required. |
| Body | The updated text content of the note. Optional but typically used to provide the new note text. |
| Resolved | Whether to change the resolved state of the discussion. Options: "Do Not Change", "Resolve", or "Unresolve". Optional; defaults to "Do Not Change". |
Output
The node outputs an array of JSON objects representing the updated discussion note returned from the GitLab API. Each output item corresponds to one input item processed.
The json output field contains the full response data from GitLab about the updated note, including fields such as note content, author, timestamps, and any metadata related to the discussion note.
No binary data output is produced by 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 and notes.
- The node supports two authentication modes: using stored credentials or custom parameters (server URL, access token, project identification).
- No additional external dependencies beyond the GitLab API and n8n's HTTP request capabilities.
Troubleshooting
- Invalid or missing IDs: Ensure that the Merge Request IID, Discussion ID, and Note ID are correct and correspond to existing entities in the target GitLab project.
- Permission errors: The access token must have sufficient API permissions to update discussion notes. If permission is denied, verify token scopes and project access rights.
- Empty or invalid body: While the body is optional, sending an empty string may result in no changes. Provide meaningful note text to update.
- Resolved option misuse: Setting the resolved state incorrectly may cause unexpected behavior. Use "Do Not Change" if you do not want to alter the resolved status.
- API rate limits: Frequent updates may hit GitLab API rate limits; handle errors accordingly.
- JSON parsing errors: When using other operations involving JSON input (not directly relevant here), ensure valid JSON syntax.