Skip to main content

GitLab

This page contains the setup guide and reference information for the Gitlab Source connector.

Prerequisites

  • Gitlab instance or an account at Gitlab

For Airbyte Cloud:

For Airbyte Open Source:

Setup guide

Step 1: Set up GitLab

Create a GitLab Account or set up a local instance of GitLab.

Airbyte Open Source additional setup steps

Log into GitLab and then generate a personal access token. Your token should have the read_api scope, that Grants read access to the API, including all groups and projects, the container registry, and the package registry.

Step 2: Set up the GitLab connector in Airbyte

For Airbyte Cloud:

  1. Log into your Airbyte Cloud account.
  2. In the left navigation bar, click Sources. In the top-right corner, click + new source.
  3. On the source setup page, select GitLab from the Source type dropdown and enter a name for this connector.
  4. Click Authenticate your GitLab account by selecting Oauth or Personal Access Token for Authentication.
  5. Log in and Authorize to the GitLab account.
  6. API URL (Optional) - The URL to access your self-hosted GitLab instance or gitlab.com (default).
  7. Start date (Optional) - The date from which you'd like to replicate data for streams.
  8. Groups (Optional) - List of GitLab group IDs, e.g. airbytehq for single group, airbytehq another-repo for multiple groups.
  9. Projects (Optional) - List of GitLab projects to pull data for, e.g. airbytehq/airbyte.
  10. Click Set up source.

Note: You can specify either Group IDs or Project IDs in the source configuration. If both fields are blank, the connector will retrieve a list of all the groups that are accessible to the configured token and ingest as normal.

For Airbyte Open Source:

  1. Authenticate with Personal Access Token.

Supported sync modes

The Gitlab Source connector supports the following sync modes:

Supported Streams

This connector outputs the following streams:

Additional information

GitLab source works with GitLab API v4. It can also work with self-hosted GitLab API v4.

Performance considerations

Gitlab has the rate limits, but the Gitlab connector should not run into Gitlab API limitations under normal usage. Please create an issue if you see any rate limit issues that are not automatically retried successfully.

Reference

Config fields reference

Field
Type
Property name
object
credentials
string
start_date
string
api_url
string
groups
array<string>
groups_list
string
projects
array<string>
projects_list

Changelog

VersionDatePull RequestSubject
3.0.02024-01-2534548Fix merge_request_commits stream to return commits for each merge request
2.1.22024-02-1235167Manage dependencies with Poetry.
2.1.12024-01-1234203prepare for airbyte-lib
2.1.02023-12-2033676Add fields to Commits (extended_trailers), Groups (emails_enabled, service_access_tokens_expiration_enforced) and Projects (code_suggestions, model_registry_access_level) streams
2.0.02023-10-2331700Add correct date-time format for Deployments, Projects and Groups Members streams
1.8.42023-10-1931599Base image migration: remove Dockerfile and use the python-connector-base image
1.8.32023-10-1831547Add validation for invalid groups_list and/or projects_list
1.8.22023-10-1731492Expand list of possible error status codes when handling expired access_token
1.8.12023-10-1231375Mark start_date as optional, migrate groups and projects to array
1.8.02023-10-1231339Add undeclared fields to streams schemas, validate date/date-time format in stream schemas
1.7.12023-10-1031210Added expired access_token handling, while checking the connection
1.7.02023-08-0827869Add Deployments stream
1.6.02023-06-3027869Add shared_runners_setting field to groups
1.5.12023-06-2427679Fix formatting
1.5.02023-06-1527392Make API URL an optional parameter in spec.
1.4.22023-06-1527346Partially revert changes made in version 1.0.4, disallow http calls in cloud.
1.4.12023-06-1327351Fix OAuth token expiry date.
1.4.02023-06-1227234Skip stream slices on 403/404 errors, do not fail syncs.
1.3.12023-06-0827147Improve connectivity check for connections with no projects/groups
1.3.02023-06-0827150Update stream schemas
1.2.12023-06-0226947New field name added to Pipelines and PipelinesExtended stream schema
1.2.02023-05-1722293Preserve data in records with flattened keys
1.1.12023-05-2326422Fix error 404 Repository Not Found when syncing project with Repository feature disabled
1.1.02023-05-1025948Introduce two new fields in the Projects stream schema
1.0.42023-04-2021373Accept api_url with or without scheme
1.0.32023-02-1422992Specified date formatting in specification
1.0.22023-01-2722001Set AvailabilityStrategy for streams explicitly to None
1.0.12023-01-2321713Fix missing data issue
1.0.02022-12-057506Add OAuth2.0 authentication option
0.1.122022-12-1520542Revert HttpAvailability changes, run on cdk 0.15.0
0.1.112022-12-1420479Use HttpAvailabilityStrategy + add unit tests
0.1.102022-12-1220384Fetch groups along with their subgroups
0.1.92022-12-1120348Fix 403 error when syncing EpicIssues stream
0.1.82022-12-0220023Fix duplicated records issue for Projects stream
0.1.72022-12-0119986Fix GroupMilestones stream schema
0.1.62022-06-2313252Add GroupIssueBoards stream
0.1.52022-05-0211907Fix null projects param and container_expiration_policy
0.1.42022-03-2311140Ingest All Accessible Groups if not Specified in Config
0.1.32021-12-218991Update connector fields title/description
0.1.22021-10-187108Allow all domains to be used as api_url
0.1.12021-10-126932Fix pattern field in spec file, remove unused fields from config files, use cache from CDK
0.1.02021-07-064174Initial Release