> ## Documentation Index
> Fetch the complete documentation index at: https://docs.weaveos.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GitLab

> Connect your GitLab repositories to Weave

Connect GitLab to sync your merge requests, commits, code reviews, and team structure.

<Note>
  For self-hosted GitLab instances, see [GitLab (self-hosted)](/data-sources/gitlab-self-hosted).
</Note>

## What's synced

* Merge requests and their metadata
* Commits and code changes
* Code reviews and comments (discussions)
* Team members and group structure
* Repository (project) information
* Pipeline and deployment data

## Connecting GitLab

<Steps>
  <Step title="Start connection">
    Go to **Data** and click **Connect** on GitLab
  </Step>

  <Step title="Authorize Weave">
    Sign in to GitLab and authorize the Weave application
  </Step>

  <Step title="Select projects">
    Choose which GitLab projects (repositories) to sync
  </Step>

  <Step title="Wait for sync">
    Initial sync may take several minutes depending on project size and history
  </Step>
</Steps>

## Permissions required

Weave requests the following GitLab OAuth scopes:

* **api** — Access to projects, merge requests, commits, and pipelines
* **openid** — Authenticate via OpenID Connect
* **profile** — Read access to user profile information
* **email** — Read access to user email address

Your GitLab account must have at least the **Maintainer** role in the repositories you want to connect.

## Multiple groups

You can connect multiple GitLab groups or namespaces. Each group's data will be synced separately.

## Sync frequency

Weave syncs GitLab data via polling every 3 hours.

## GitLab terminology mapping

| GitLab Term | Git/GitHub Equivalent | Description |
| - | - | - |
| Merge Request (MR) | Pull Request (PR) | Proposed code changes |
| Project | Repository | Code repository |
| Group | Organization | Collection of projects |
| Discussion | Review comment | Code review feedback |
| Pipeline | Workflow/Action | CI/CD execution |

## Supported GitLab features

### Code review metrics

* Merge request cycle time and velocity
* Code review turnaround and quality
* Comment analysis and resolution tracking
* Review depth and thoroughness

### Code quality tracking

* Lines of code and code output
* Code turnover and churn analysis
* Bug and revert tracking
* AI-assisted code detection

### CI/CD metrics

* Pipeline success rates and frequency for enabled projects
* Deployment frequency and lead time from pipelines classified as production deployments, or from tag pipelines matching a per-project production tag regex (see [deployment detection](/ci-cd/overview#deployment-detection))
* Pipeline duration

Weave does not read GitLab environments, the GitLab deployments API, or test reports.

If every pipeline on your default branch deploys to production, turn on **Count pipelines on each project's default branch as production deploys** in **Settings → Production deployments**. Weave then counts each completed pipeline on a project's default branch (for example, `main` or `master`) as a production deployment. Merge request, tag, and scheduled pipelines are not counted by this setting. See [CI/CD overview](/ci-cd/overview#deployment-detection) for how it combines with production tags.

### Team collaboration

* Engineer activity and contributions
* Team structure from GitLab groups
* Review participation and patterns

## Troubleshooting

<AccordionGroup>
  <Accordion icon="lock" title="Authorization failed">
    If authorization fails:

    1. Ensure you have at least the **Maintainer** role in the repositories you want to connect
    2. Check that your GitLab account has access to the projects you want to sync
    3. Verify your organization allows OAuth applications
    4. Try disconnecting and reconnecting the integration
  </Accordion>

  <Accordion icon="clock" title="Sync is slow or incomplete">
    If data isn't syncing properly:

    1. Check that the GitLab project is not archived
    2. Verify webhook configuration in project settings (if using webhooks)
    3. Ensure your GitLab plan includes API access
    4. Contact support if sync is stuck for more than 30 minutes
  </Accordion>

  <Accordion icon="user-slash" title="Missing team members">
    If team members aren't appearing:

    1. Ensure members have commits or merge requests in connected projects
    2. Verify members have public email addresses or Weave accounts
    3. Check that members have not been removed from the GitLab group
    4. Re-sync the integration to refresh team member data
  </Accordion>

  <Accordion icon="code-branch" title="Self-hosted GitLab">
    For self-hosted GitLab instances:

    1. Ensure your GitLab instance is accessible from the internet (or configure VPN)
    2. Use GitLab version 13.0 or later for full feature support
    3. Configure OAuth application in GitLab admin settings
    4. See [GitLab (self-hosted)](/data-sources/gitlab-self-hosted) for detailed setup
  </Accordion>
</AccordionGroup>

## Data privacy

Weave syncs only metadata about your merge requests, commits, and reviews. We do not store your source code or repository contents.

## Related integrations

* **[GitHub](/code-platforms/github)** — Alternative Git platform
* **[Bitbucket](/code-platforms/bitbucket)** — Alternative Git platform
* **[Linear](/project-management/linear)** — Project management integration
* **[Jira](/project-management/jira)** — Issue tracking integration


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.