Source connector
GitLab connector
GitLab integration for databases, warehouses and BI tools
DevOps platform for repos, CI/CD, and issue tracking. Datrise captures GitLab entities such as projects, merge requests, pipelines, issues, and deployment events, then lands normalized and typed models for warehouse reporting, attribution, and AI workflows.
The GitLab REST API v4 authenticates with personal access token, OAuth 2.0, service account, incremental runs key on updated_after, and GitLab caps calls at GitLab.com authenticated API traffic is capped at 2,000 requests/minute per user, with lower endpoint-specific ceilings such as 400 requests/minute for a single project (`/api/v4/projects/:id`) and 10 requests/minute for the advanced/project/group search API; self-managed instances set their own limits.
Of the 5 objects, 4 sync as upserts keyed on the primary key and 1 as append-only streams, so each incremental run moves only what changed since the last watermark. Every object lands in its own table (for example `gitlab_projects`) with a schema derived from the GitLab API rather than a flattened CSV, in any of the 43 supported destinations.
Datrise is in early access: pick a destination below to open the GitLab pipeline page, and join the waitlist to get the GitLab connector (Product analytics) with guided onboarding.
What GitLab data Datrise extracts
Each object lands in its own typed table. Sync mode is derived from the object: history-style objects append, everything else upserts.
| Object | Landing table | Sync mode |
|---|---|---|
| projects | gitlab_projects | Upsert by primary key, incremental on updated-at |
| merge requests | gitlab_merge_requests | Upsert by primary key, incremental on updated-at |
| pipelines | gitlab_pipelines | Upsert by primary key, incremental on updated-at |
| issues | gitlab_issues | Upsert by primary key, incremental on updated-at |
| deployment events | gitlab_deployment_events | Append-only, incremental by timestamp |
GitLab API: setup facts for the connector
Verified against the vendor documentation on 2026-09-02. Unknown values are left blank rather than guessed.
| API | GitLab REST API v4 |
|---|---|
| Authentication | personal access token, OAuth 2.0, service account — Personal, project, or group access tokens are sent via the `PRIVATE-TOKEN` header (or as an OAuth 2.0 `Bearer` token, valid 2 hours before requiring a `refresh_token` exchange); CI pipelines instead use a scoped `CI_JOB_TOKEN` via the `JOB-TOKEN` header. |
| Pagination | offset — Default is offset pagination (`page`/`per_page`, max 100); keyset pagination is opt-in via `pagination=keyset&order_by=id`, returning the next cursor in the `X-NEXT-CURSOR` response header instead of a page number. |
| Rate limit | GitLab.com authenticated API traffic is capped at 2,000 requests/minute per user, with lower endpoint-specific ceilings such as 400 requests/minute for a single project (`/api/v4/projects/:id`) and 10 requests/minute for the advanced/project/group search API; self-managed instances set their own limits. |
| Incremental cursor | updated_after — Most list endpoints (projects, issues, merge requests) accept `updated_after`/`updated_before` ISO 8601 filters for incremental pulls, though `order_by=updated_at` is required alongside the filter on some resources to avoid a full-table scan. |
| Webhooks | Yes — Project/Group webhooks (push, merge_request, issue/work_item, pipeline, tag_push, wiki_page, release, etc.) |
| Bulk export | No |
| Deletes detectable | No |
What bites when replicating GitLab
- Offset pagination (`page`/`per_page`) becomes unreliable and slow past roughly 50,000 records; GitLab explicitly recommends switching to keyset pagination (`pagination=keyset`) for large resource sets, which most third-party client libraries don't enable by default.
- There is no webhook event or API field for issue or merge-request deletion — available `action` values for work items and merge request events are limited to `open`/`close`/`reopen`/`update`/merge-related states, so a connector relying on webhooks alone will never see a hard-deleted issue disappear.
- OAuth 2.0 access tokens expire after exactly 2 hours and require an explicit `refresh_token` exchange; a long-running batch job that doesn't refresh mid-run will start failing with 401s partway through.
- GitLab.com enforces per-endpoint rate ceilings independently of the general 2,000/minute quota — e.g. the search API is limited to just 10 requests/minute — so a connector tuned against the general limit can still get 429s on specific endpoints.
Popular destinations for GitLab
Choose a destination below to open the ready pipeline page.
- AAirtable
Relational spreadsheet destination for ops and go-to-market teams.
View pipeline - AAmazon Athena
Serverless SQL over S3 data lake tables.
View pipeline - AAmazon DynamoDB
Serverless key-value and document store on AWS.
View pipeline - AAmazon QuickSight
AWS serverless BI with SPICE and embedded analytics.
View pipeline - AAmazon Redshift
AWS petabyte-scale warehouse with Spectrum.
View pipeline - AAmazon S3 Data Lake
Object storage landing zone for parquet and snapshots.
View pipeline - AApache Superset
Open-source BI for SQL exploration, charts, and dashboard publishing.
View pipeline - AAzure Data Lake Storage
ADLS Gen2 object storage for analytics workloads.
View pipeline - AAzure Synapse
Microsoft analytics workspace with SQL pools.
View pipeline
GitLab connector FAQ
- What GitLab data does the connector extract?
- 5 objects: projects, merge requests, pipelines, issues and deployment events. Each lands in its own table with types preserved; history-style objects (1: deployment events) load as append-only streams.
- Is the GitLab integration incremental?
- Yes. After the initial full load, every run reads only records changed since the last watermark (updated-at or event timestamp) and applies an upsert or an append depending on the object.
- Where can I load GitLab data?
- Into 43 destinations: relational databases, cloud warehouses, data lakes, spreadsheets and BI tools. Each GitLab → destination pair has its own page with the object-to-table mapping.
Related Product analytics sources
Other sources in the same category, each with its own connector page.
Early access
Launch your GitLab pipeline with guided onboarding
Join the waitlist to get priority access for GitLab integrations with guided setup, schema-aware mapping, and production-grade incremental sync.