Gitlab

Gitlab logo

Gitlab

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.

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

The following configuration options are available for this connector:

Configuration Parameters

GitLab configuration schema.

project_id
str

Specific project ID to sync (e.g., ‘12345’). If empty, syncs all accessible projects.

branch
str

Specific branch to sync (e.g., ‘main’, ‘master’). If empty, uses the default branch.

Data Models

The following data models are available for this connector:

Schema for GitLab project (repository) entity.

Reference: https://docs.gitlab.com/ee/api/projects.html

FieldTypeDescription
pathstrProject path
path_with_namespacestrFull path with namespace
descriptionOptional[str]Project description
default_branchOptional[str]Default branch of the repository
visibilitystrProject visibility level
topicsList[str]Project topics/tags
namespaceDict[str, Any]Project namespace information
star_countintNumber of stars
forks_countintNumber of forks
open_issues_countintNumber of open issues
archivedboolWhether the project is archived
empty_repoboolWhether the repository is empty
urlOptional[str]Web URL to the project

Schema for GitLab user entity.

Reference: https://docs.gitlab.com/ee/api/users.html

FieldTypeDescription
usernamestrUser’s username
statestrUser account state
avatar_urlOptional[str]User’s avatar URL
web_urlstrUser’s profile URL
bioOptional[str]User’s biography
locationOptional[str]User’s location
public_emailOptional[str]User’s public email
organizationOptional[str]User’s organization
job_titleOptional[str]User’s job title
pronounsOptional[str]User’s pronouns

Schema for GitLab directory entity.

Reference: https://docs.gitlab.com/ee/api/repositories.html

FieldTypeDescription
pathstrPath of the directory within the repository
project_idstrID of the project containing this directory
project_pathstrPath of the project
urlOptional[str]Web URL to the directory

Schema for GitLab code file entity.

Reference: https://docs.gitlab.com/ee/api/repository_files.html

FieldTypeDescription
blob_idstrBlob ID of the file content
project_idstrID of the project
project_pathstrPath of the project
line_countOptional[int]Number of lines in the file

Schema for GitLab issue entity.

Reference: https://docs.gitlab.com/ee/api/issues.html

FieldTypeDescription
titlestrIssue title
descriptionOptional[str]Issue description
statestrIssue state (opened, closed)
closed_atOptional[Any]Issue close timestamp
labelsList[str]Issue labels
authorDict[str, Any]Issue author information
assigneesList[Dict[str, Any]]Issue assignees
milestoneOptional[Dict[str, Any]]Issue milestone
project_idstrID of the project
iidintInternal issue ID
web_urlstrWeb URL to the issue
user_notes_countintNumber of user notes/comments
upvotesintNumber of upvotes
downvotesintNumber of downvotes

Schema for GitLab merge request entity.

Reference: https://docs.gitlab.com/ee/api/merge_requests.html

FieldTypeDescription
titlestrMerge request title
descriptionOptional[str]Merge request description
statestrMerge request state (opened, closed, merged)
merged_atOptional[Any]Merge request merge timestamp
closed_atOptional[Any]Merge request close timestamp
labelsList[str]Merge request labels
authorDict[str, Any]Merge request author information
assigneesList[Dict[str, Any]]Merge request assignees
reviewersList[Dict[str, Any]]Merge request reviewers
source_branchstrSource branch name
target_branchstrTarget branch name
milestoneOptional[Dict[str, Any]]Merge request milestone
project_idstrID of the project
iidintInternal merge request ID
web_urlstrWeb URL to the merge request
merge_statusstrMerge status (can_be_merged, cannot_be_merged)
draftboolWhether the merge request is a draft
work_in_progressboolWhether the merge request is work in progress
upvotesintNumber of upvotes
downvotesintNumber of downvotes
user_notes_countintNumber of user notes/comments