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.

FieldTypeDescription
namestrProject name
pathstrProject path
path_with_namespacestrFull path with namespace
descriptionOptional[str]Project description
default_branchOptional[str]Default branch of the repository
created_atdatetimeCreation timestamp
last_activity_atOptional[datetime]Last activity timestamp
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

Schema for GitLab user entity.

FieldTypeDescription
usernamestrUser’s username
namestrUser’s display name
statestrUser account state
avatar_urlOptional[str]User’s avatar URL
web_urlstrUser’s profile URL
created_atOptional[datetime]Account creation timestamp
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.

FieldTypeDescription
pathstrPath of the directory within the repository
project_idstrID of the project containing this directory
project_pathstrPath of the project

Schema for GitLab code file entity.

FieldTypeDescription
blob_idstrBlob ID of the file content
pathstrPath of the file within the repository
project_idstrID of the project
project_pathstrPath of the project

Schema for GitLab issue entity.

FieldTypeDescription
titlestrIssue title
descriptionOptional[str]Issue description
statestrIssue state (opened, closed)
created_atdatetimeIssue creation timestamp
updated_atdatetimeIssue last update timestamp
closed_atOptional[datetime]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.

FieldTypeDescription
titlestrMerge request title
descriptionOptional[str]Merge request description
statestrMerge request state (opened, closed, merged)
created_atdatetimeMerge request creation timestamp
updated_atdatetimeMerge request last update timestamp
merged_atOptional[datetime]Merge request merge timestamp
closed_atOptional[datetime]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