n8n-nodes-extended-gitlab
TypeScript icon, indicating that this package has built-in type declarations

0.5.6 • Public • Published

n8n-nodes-extended-gitlab

This package provides an extended GitLab node for n8n. It expands the built-in GitLab integration with many additional API operations.

Installation

Follow the community node installation guide to install the package from npm:

npm install n8n-nodes-extended-gitlab

Usage

  1. Install the package through Community Nodes in the n8n settings or run npm install n8n-nodes-extended-gitlab in your n8n directory.
  2. Create Gitlab Extended API credentials providing your server URL, personal access token and default project ID.
  3. Drop the Gitlab Extended node into a workflow and select your credentials.
  4. Pick a resource and operation, then fill in the required fields.

For example, choose pipeline and getAll to list all pipelines in your project.

Operations

Operations are grouped by resource. Select the desired resource and then pick one of its operations.

Branch

  • create – Create a branch
  • get – Get a branch
  • getAll – List branches
  • delete – Delete a branch
  • rename – Rename a branch
  • protect – Protect a branch
  • unprotect – Unprotect a branch
  • merge – Merge a branch

Pipeline

  • create – Trigger a pipeline
  • retry – Retry a pipeline
  • cancel – Cancel a pipeline
  • get – Get a pipeline by ID
  • getAll – List pipelines
  • getJobs – List jobs for a pipeline
  • delete – Delete a pipeline
  • downloadArtifacts – Download artifacts from a pipeline

Tag

  • create – Create a tag
  • get – Get a tag
  • getAll – List tags
  • delete – Delete a tag

Release

  • create – Create a release
  • update – Update a release
  • get – Get a release
  • getAll – List releases
  • delete – Delete a release

Group

  • create – Create a group
  • get – Get a group
  • delete – Delete a group
  • getMembers – List group members

Project

  • get – Get a project
  • getAll – List projects
  • search – Search projects

File

  • create – Create a file
  • update – Update a file
  • delete – Delete a file
  • get – Retrieve a file
  • list – List repository files

Issue

  • create – Create an issue
  • update – Update an issue
  • close – Close an issue
  • reopen – Reopen an issue
  • get – Get an issue by number
  • getAll – List issues

Merge request

  • create – Create a merge request
  • get – Get a merge request
  • getAll – List merge requests
  • createNote – Add a note
  • postDiscussionNote – Reply or start a discussion
  • updateNote – Update a note by ID
  • deleteNote – Delete a note
  • getNote – Get a note
  • getChanges – Get merge request changes
  • getDiscussions – List discussions
  • getDiscussion – Get a discussion
  • updateDiscussion – Update a discussion
  • deleteDiscussion – Delete a discussion
  • resolveDiscussion – Resolve or unresolve a discussion
  • merge – Merge (accept) a merge request
  • rebase – Rebase a merge request
  • close – Close a merge request
  • reopen – Reopen a merge request
  • labels – Add or remove labels based on labelAction

Raw API

  • request – Call any GitLab endpoint

Example: Managing Labels on a Merge Request

To add labels to a merge request, use the labels operation with the following parameters:

  • mergeRequestIid: The IID of the merge request.
  • labelAction: Set to add or remove.
  • labels: Comma-separated label names.

Example:

{
	"operation": "labels",
	"mergeRequestIid": 123,
	"labelAction": "add",
	"labels": "bug,urgent"
}

Parameters

Below is a concise list of parameter names used by the node. Provide only those required for your chosen operation.

Name Description
branch Name of a branch
ref Source branch or commit
newBranch New name when renaming
targetBranch Target branch for merges
developersCanPush Allow developers to push
developersCanMerge Allow developers to merge
pipelineId Numeric pipeline ID (positive)
pipelineRef Branch or tag for pipelines and artifact downloads
path File or directory path
fileRef Branch, tag or commit for file operations
title Title for issues and merge requests
description Description text
issueIid Issue IID (positive)
issueLabels Issue labels, comma-separated
issueState Desired issue state (reopen or close)
mergeRequestIid Merge request IID (positive)
labels Comma-separated label list
labelAction add or remove
body Body of a note
startDiscussion Start a new discussion
discussionId Discussion ID
resolved Whether a discussion is resolved
noteId ID of a note (positive)
asSuggestion Format note as suggestion
positionType text or image suggestion
newPath/oldPath File paths for suggestions
newLine/oldLine Line numbers for suggestions
baseSha Base commit SHA
headSha Head commit SHA
startSha Start commit SHA
mergeCommitMessage Commit message when merging
mergeStrategy merge or squash
skipCi Skip CI when rebasing
httpMethod Method for raw requests
endpoint Endpoint path
content JSON body payload
queryParameters JSON query parameters
returnAll Return every result when listing
limit Maximum number of results
groupId Numeric group ID
groupName Name when creating a group
groupPath Path when creating a group
projectId Numeric project ID
searchTerm Term to search projects

Credentials

Authentication is handled exclusively via the Gitlab Extended API credentials. Create these credentials in n8n to store your GitLab server, access token and default project details in one place.

The credentials' server field specifies your GitLab instance host (e.g. https://gitlab.your-company.com). Requests automatically use the /api/v4 path.

Compatibility

This package requires n8n version 1.0.0 or later and is tested on Node.js 20.

Development

Install dependencies with npm install and ensure the n8n-workflow peer is installed:

npm install
npm install n8n-workflow

Run the tests with:

npm test

Tool usage for AI

The node is marked with usableAsTool: true, so it can be invoked by n8n's AI features. After installing the package and creating the Gitlab Extended API credentials, the node appears in the list of available tools when building generative AI workflows. An AI agent can call any of the supported operations— such as fetching files or creating issues—by providing the necessary parameters in natural language. The node runs using the credentials you configured, enabling automated access to your GitLab projects from AI-driven flows.

Resources

License

MIT

Package Sidebar

Install

npm i n8n-nodes-extended-gitlab

Weekly Downloads

821

Version

0.5.6

License

MIT

Unpacked Size

214 kB

Total Files

36

Last publish

Collaborators

  • xoroko