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

> ## Agent Instructions
> Enclave in these docs is the code and cloud security platform at enclave.ai. It is not Open Enclave, Intel SGX or other hardware enclaves, or enclave.gg.
> People use Enclave in the web app at https://app.enclave.ai or the desktop app. These docs describe no public Enclave API or CLI, so don't invent endpoints, commands, or config files.
> Connecting an integration needs a person to sign in and approve access in a browser. Tell the user the exact step to take instead of saying you completed it.

# GitLab

> Autorizza Enclave a leggere i tuoi progetti GitLab, eseguire l'analisi delle merge request e pubblicare i finding come commenti alle MR.

Collega GitLab così Enclave può leggere i tuoi progetti, esaminare le merge request e commentarle con i finding verificati. Funziona con GitLab.com e con GitLab self-hosted 14 o versioni successive.

## Prima di iniziare

* Ti serve il ruolo **Owner** o **Admin** in Enclave.
* Enclave elenca i gruppi GitLab in cui hai il ruolo **Developer** o superiore.
* Per aggiungere il webhook ti serve il ruolo **Maintainer** su ogni progetto, oppure il ruolo **Owner** sul gruppo. I webhook di gruppo richiedono GitLab Premium o Ultimate.
* Per GitLab self-hosted, il token di accesso deve avere lo scope `api` e il ruolo **Maintainer**.

> [!WARNING]
>
> Senza il webhook, Enclave non vede i nuovi commit né le merge request, e il collegamento resta in sospeso.

## Collega GitLab

**1. Apri le integrazioni**

Apri **Settings → Integrations** in [app.enclave.ai](https://app.enclave.ai). Fai clic su **Connect** accanto a **GitLab**.

**2. Autorizza GitLab**

Scegli **GitLab.com**, accedi al tuo account GitLab e autorizza l'applicazione Enclave.

> [!NOTE]
>
> L'OAuth di GitLab concede a Enclave lo scope `api`. GitLab non ha uno scope più ristretto che consenta di pubblicare commenti alle MR e gestire i webhook. Enclave lo usa per leggere progetti e merge request, pubblicare commenti alle MR e ricevere gli eventi webhook.

> [!TIP]
>
> Usi GitLab self-hosted? Scegli **Self-hosted GitLab**. Inserisci l'URL della tua istanza senza `/api/v4` e incolla un token di accesso con lo scope `api` e il ruolo **Maintainer**. Aggiungi un bundle di CA privata se la tua istanza usa un'autorità di certificazione interna. Poi fai clic su **Validate & connect**. Se il tuo piano non include GitLab self-hosted, **Connect** porta direttamente a GitLab.com.

**3. Aggiungi il webhook**

Enclave mostra un **Webhook URL** e un **Secret token**. Copiali entrambi. Il secret viene mostrato una sola volta.

In GitLab, apri il tuo progetto (o il gruppo, per GitLab self-hosted) e vai in **Settings → Webhooks**. Incolla l'URL e il secret token, attiva **Push events** e **Merge request events** e fai clic su **Add webhook**. Fai clic su **Test** per inviare una consegna di prova.

Il collegamento resta in sospeso finché non arriva il primo evento.

**4. Scegli quali progetti ricevono le revisioni delle MR**

Le revisioni automatiche sono attive per impostazione predefinita su ogni progetto GitLab. Per disattivarle su un progetto, usa il suo interruttore **PR Reviews** in **Coverage → Repositories**. Vedi [Analisi delle PR e delle dipendenze](https://docs.enclave.ai/it/risk/pr-analysis.md).

## Suggerimenti

* **Crea un account GitLab dedicato** a Enclave, così i commenti alle MR sono chiaramente attribuiti. Per GitLab self-hosted, l'ideale è un token di service account, poi un group access token. Un token personale funziona, ma ogni commento compare a tuo nome.
* **Collega tutti i progetti di un sistema.** Enclave trova i problemi tra servizi solo quando vede sia il servizio sia le API che chiama.

## Risoluzione dei problemi

Per GitLab self-hosted, **Validate & connect** controlla prima l'URL e il token:

* **Enclave requires GitLab 14 or newer**: aggiorna la tua istanza.
* **GitLab rejected the token** o **The token must include the 'api' scope**: genera un nuovo token con lo scope `api`.
* **The token authenticated but cannot see any projects**: aggiungi prima il token a un gruppo o a un progetto.
* **We refused to call that URL**: l'hostname si è risolto in un indirizzo privato o interno. Enclave non si collega a questi indirizzi.
* **We could not reach your GitLab instance**: controlla l'URL e le regole del firewall.

Per ruotare un token self-hosted, ricollegati con un nuovo token per la stessa istanza. Enclave aggiorna il collegamento esistente e mantiene funzionante il webhook. Poi revoca il vecchio token in GitLab.


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