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.

Source Code: View on GitHub

Authentication

This connector uses OAuth 2.0 authentication. You can connect through the Graffo 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:

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

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

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

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

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

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

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

Last updated