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
project_idintGitLab project ID
namestrProject name
created_atdatetimeCreation timestamp
last_activity_atdatetimeTimestamp of last activity
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
web_url_valueOptional[str]Web URL to the project

Schema for GitLab user entity.

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

FieldTypeDescription
user_idintGitLab user ID
namestrUser’s display name
created_atdatetimeAccount creation timestamp
usernamestrUser’s username
statestrUser account state
avatar_urlOptional[str]User’s avatar URL
profile_urlOptional[str]User’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
full_pathstrProject-qualified directory path (project_id/path)
namestrDirectory name
pathstrPath of the directory within the repository
project_idstrID of the project containing this directory
project_pathstrPath of the project
branchstrBranch used when traversing this directory
web_url_valueOptional[str]Web URL to the directory

Schema for GitLab code file entity.

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

FieldTypeDescription
full_pathstrProject-qualified file path (project_id/path)
namestrFilename
branchstrBranch used when fetching the file
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
web_url_valueOptional[str]Web URL to view the file

Schema for GitLab issue entity.

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

FieldTypeDescription
issue_idintGlobal GitLab issue ID
titlestrIssue title
created_atdatetimeIssue creation timestamp
updated_atdatetimeIssue update timestamp
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_url_valueOptional[str]Web 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
merge_request_idintGlobal GitLab merge request ID
titlestrMerge request title
created_atdatetimeMerge request creation timestamp
updated_atdatetimeMerge request update timestamp
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_url_valueOptional[str]Web 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