> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.airweave.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.airweave.ai/_mcp/server.

# Gitlab

> Gitlab integration with Airweave

{/* AUTO-GENERATED CONTENT START */}

<img src="https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/airweave.docs.buildwithfern.com/2026-05-20T11%3A36%3A51.367Z/docs/pages/connectors/gitlab/icon.svg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260807%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260807T162652Z&X-Amz-Expires=604800&X-Amz-Signature=16010949597381fb42297d9715754f50d7aa2bd9b09344c4320889ff1dbb5161&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject" alt="Gitlab logo" width="48" height="48" />

<h1>
  Gitlab
</h1>

This connector enables AI agents and RAG systems to retrieve context from Gitlab through Airweave's unified search layer.

## Configuration

GitLab source connector integrates with the GitLab REST API to extract data.

Connects to your GitLab projects.

It supports syncing projects, users, repository files, issues, and merge requests
with configurable filtering options for branches and file types.

#### [View Source Code](https://github.com/airweave-ai/airweave/tree/main/backend/airweave/platform/sources/gitlab.py)

Explore the Gitlab connector implementation

### Authentication

This connector uses **OAuth 2.0 authentication**. You can connect through the Airweave UI or API using the OAuth flow.

**Supported authentication methods:**

* OAuth Browser Flow (recommended for UI)
* OAuth Token (for programmatic access)
* Auth Provider (enterprise SSO)

### Configuration Options

This connector does not have any additional configuration options.

## Data Models

The following data models are available for this connector:

#### GitLabProjectEntity

Schema for GitLab project (repository) entity.

Reference:
[https://docs.gitlab.com/ee/api/projects.html](https://docs.gitlab.com/ee/api/projects.html)

| Field                 | Type            | Description                      |
| --------------------- | --------------- | -------------------------------- |
| project\_id           | int             | GitLab project ID                |
| name                  | str             | Project name                     |
| created\_at           | datetime        | Creation timestamp               |
| last\_activity\_at    | datetime        | Timestamp of last activity       |
| path                  | str             | Project path                     |
| path\_with\_namespace | str             | Full path with namespace         |
| description           | Optional\[str]  | Project description              |
| default\_branch       | Optional\[str]  | Default branch of the repository |
| visibility            | str             | Project visibility level         |
| topics                | List\[str]      | Project topics/tags              |
| namespace             | Dict\[str, Any] | Project namespace information    |
| star\_count           | int             | Number of stars                  |
| forks\_count          | int             | Number of forks                  |
| open\_issues\_count   | int             | Number of open issues            |
| archived              | bool            | Whether the project is archived  |
| empty\_repo           | bool            | Whether the repository is empty  |
| web\_url\_value       | Optional\[str]  | Web URL to the project           |

#### GitLabUserEntity

Schema for GitLab user entity.

Reference:
[https://docs.gitlab.com/ee/api/users.html](https://docs.gitlab.com/ee/api/users.html)

| Field         | Type           | Description                |
| ------------- | -------------- | -------------------------- |
| user\_id      | int            | GitLab user ID             |
| name          | str            | User's display name        |
| created\_at   | datetime       | Account creation timestamp |
| username      | str            | User's username            |
| state         | str            | User account state         |
| avatar\_url   | Optional\[str] | User's avatar URL          |
| profile\_url  | Optional\[str] | User's profile URL         |
| bio           | Optional\[str] | User's biography           |
| location      | Optional\[str] | User's location            |
| public\_email | Optional\[str] | User's public email        |
| organization  | Optional\[str] | User's organization        |
| job\_title    | Optional\[str] | User's job title           |
| pronouns      | Optional\[str] | User's pronouns            |

#### GitLabDirectoryEntity

Schema for GitLab directory entity.

Reference:
[https://docs.gitlab.com/ee/api/repositories.html](https://docs.gitlab.com/ee/api/repositories.html)

| Field           | Type           | Description                                         |
| --------------- | -------------- | --------------------------------------------------- |
| full\_path      | str            | Project-qualified directory path (project\_id/path) |
| name            | str            | Directory name                                      |
| path            | str            | Path of the directory within the repository         |
| project\_id     | str            | ID of the project containing this directory         |
| project\_path   | str            | Path of the project                                 |
| branch          | str            | Branch used when traversing this directory          |
| web\_url\_value | Optional\[str] | Web URL to the directory                            |

#### GitLabCodeFileEntity

Schema for GitLab code file entity.

Reference:
[https://docs.gitlab.com/ee/api/repository\_files.html](https://docs.gitlab.com/ee/api/repository_files.html)

| Field           | Type           | Description                                    |
| --------------- | -------------- | ---------------------------------------------- |
| full\_path      | str            | Project-qualified file path (project\_id/path) |
| name            | str            | Filename                                       |
| branch          | str            | Branch used when fetching the file             |
| blob\_id        | str            | Blob ID of the file content                    |
| project\_id     | str            | ID of the project                              |
| project\_path   | str            | Path of the project                            |
| line\_count     | Optional\[int] | Number of lines in the file                    |
| web\_url\_value | Optional\[str] | Web URL to view the file                       |

#### GitLabIssueEntity

Schema for GitLab issue entity.

Reference:
[https://docs.gitlab.com/ee/api/issues.html](https://docs.gitlab.com/ee/api/issues.html)

| Field              | Type                       | Description                   |
| ------------------ | -------------------------- | ----------------------------- |
| issue\_id          | int                        | Global GitLab issue ID        |
| title              | str                        | Issue title                   |
| created\_at        | datetime                   | Issue creation timestamp      |
| updated\_at        | datetime                   | Issue update timestamp        |
| description        | Optional\[str]             | Issue description             |
| state              | str                        | Issue state (opened, closed)  |
| closed\_at         | Optional\[Any]             | Issue close timestamp         |
| labels             | List\[str]                 | Issue labels                  |
| author             | Dict\[str, Any]            | Issue author information      |
| assignees          | List\[Dict\[str, Any]]     | Issue assignees               |
| milestone          | Optional\[Dict\[str, Any]] | Issue milestone               |
| project\_id        | str                        | ID of the project             |
| iid                | int                        | Internal issue ID             |
| web\_url\_value    | Optional\[str]             | Web URL to the issue          |
| user\_notes\_count | int                        | Number of user notes/comments |
| upvotes            | int                        | Number of upvotes             |
| downvotes          | int                        | Number of downvotes           |

#### GitLabMergeRequestEntity

Schema for GitLab merge request entity.

Reference:
[https://docs.gitlab.com/ee/api/merge\_requests.html](https://docs.gitlab.com/ee/api/merge_requests.html)

| Field              | Type                       | Description                                        |
| ------------------ | -------------------------- | -------------------------------------------------- |
| merge\_request\_id | int                        | Global GitLab merge request ID                     |
| title              | str                        | Merge request title                                |
| created\_at        | datetime                   | Merge request creation timestamp                   |
| updated\_at        | datetime                   | Merge request update timestamp                     |
| description        | Optional\[str]             | Merge request description                          |
| state              | str                        | Merge request state (opened, closed, merged)       |
| merged\_at         | Optional\[Any]             | Merge request merge timestamp                      |
| closed\_at         | Optional\[Any]             | Merge request close timestamp                      |
| labels             | List\[str]                 | Merge request labels                               |
| author             | Dict\[str, Any]            | Merge request author information                   |
| assignees          | List\[Dict\[str, Any]]     | Merge request assignees                            |
| reviewers          | List\[Dict\[str, Any]]     | Merge request reviewers                            |
| source\_branch     | str                        | Source branch name                                 |
| target\_branch     | str                        | Target branch name                                 |
| milestone          | Optional\[Dict\[str, Any]] | Merge request milestone                            |
| project\_id        | str                        | ID of the project                                  |
| iid                | int                        | Internal merge request ID                          |
| web\_url\_value    | Optional\[str]             | Web URL to the merge request                       |
| merge\_status      | str                        | Merge status (can\_be\_merged, cannot\_be\_merged) |
| draft              | bool                       | Whether the merge request is a draft               |
| work\_in\_progress | bool                       | Whether the merge request is work in progress      |
| upvotes            | int                        | Number of upvotes                                  |
| downvotes          | int                        | Number of downvotes                                |
| user\_notes\_count | int                        | Number of user notes/comments                      |

{/* AUTO-GENERATED CONTENT END */}