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

# GitLab

> How DSALTA integrates with GitLab — data collected, setup guide, and automated compliance checks.

## Overview

DSALTA connects to GitLab using read-only API access to collect compliance evidence automatically. Data syncs every 24 hours and feeds into your Data Library modules.

<Info>
  **Read-only access.** DSALTA never modifies, creates, or deletes resources in your GitLab environment.
</Info>

## How to Connect

1. Go to **Integrations** in the DSALTA sidebar.
2. Find **GitLab** and click **Connect**.
3. Authenticate with admin-level access.
4. Select the scope (accounts, projects, or resources to monitor).
5. DSALTA performs an initial sync (5-15 minutes). Checks activate after sync completes.

## Automated Compliance Checks

Each check below runs automatically every 24 hours. Click any check for step-by-step remediation guidance.

| Check                                                                                                                                       | Description                                                                              |
| ------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| [Code repositories should be classified](/integrations/gitlab/code-repositories-should-be-classified)                                       | Checks that all GitLab code repositories are classified by criticality.                  |
| [GitLab group-level MFA should be enforced](/integrations/gitlab/gitlab-group-level-mfa-should-be-enforced)                                 | Checks that group-level MFA enforcement is enabled in GitLab.                            |
| [Peer review should be enforced for code changes](/integrations/gitlab/peer-review-should-be-enforced-for-code-changes)                     | Checks that peer review is required before code changes can be merged in GitLab.         |
| [Merging code changes should require passing status checks](/integrations/gitlab/merging-code-changes-should-require-passing-status-checks) | Checks that passing status checks are required before merging in GitLab.                 |
| [Branch protection rules should be enforced for admins](/integrations/gitlab/branch-protection-rules-should-be-enforced-for-admins)         | Checks that branch protection rules apply to admin users in GitLab.                      |
| [Code changes should be reviewed by peers before merging](/integrations/gitlab/code-changes-should-be-reviewed-by-peers-before-merging)     | Checks that all code changes are reviewed by at least one peer before merging in GitLab. |
| [GitLab access should be removed for offboarded users](/integrations/gitlab/gitlab-access-should-be-removed-for-offboarded-users)           | Checks that GitLab access is revoked for offboarded users.                               |

## Troubleshooting

<AccordionGroup>
  <Accordion title="Integration shows Disconnected">
    Re-authenticate from **Integrations → GitLab → Reconnect**. This usually happens when API tokens expire.
  </Accordion>

  <Accordion title="Data is not syncing">
    Verify the connected account has admin permissions. Try a manual sync from the integration settings.
  </Accordion>
</AccordionGroup>
