> ## 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

> Autorize o Enclave a ler seus projetos do GitLab, executar a análise de merge requests e publicar achados como comentários nos MRs.

Conecte o GitLab para que o Enclave possa ler seus projetos, revisar merge requests e comentar com achados verificados. Funciona com o GitLab.com e com o GitLab autogerenciado 14 ou mais recente.

## Antes de começar

* Você precisa da função **Owner** ou **Admin** no Enclave.
* O Enclave lista os grupos do GitLab em que você tem a função **Developer** ou superior.
* Para adicionar o webhook, você precisa da função **Maintainer** em cada projeto ou da função **Owner** no grupo. Webhooks de grupo exigem o GitLab Premium ou Ultimate.
* No GitLab autogerenciado, o token de acesso precisa do escopo `api` e da função **Maintainer**.

> [!WARNING]
>
> Sem o webhook, o Enclave não vê novos commits nem merge requests, e a conexão fica pendente.

## Conectar o GitLab

**1. Abra as integrações**

Abra **Settings → Integrations** em [app.enclave.ai](https://app.enclave.ai). Clique em **Connect** ao lado de **GitLab**.

**2. Autorize o GitLab**

Escolha **GitLab.com**, entre na sua conta do GitLab e autorize o aplicativo do Enclave.

> [!NOTE]
>
> O OAuth do GitLab concede ao Enclave o escopo `api`. O GitLab não tem um escopo mais restrito que permita publicar comentários em MRs e gerenciar webhooks. O Enclave o usa para ler projetos e merge requests, publicar comentários em MRs e receber eventos de webhook.

> [!TIP]
>
> Usa o GitLab autogerenciado? Escolha **Self-hosted GitLab**. Informe a URL da sua instância sem `/api/v4` e cole um token de acesso com o escopo `api` e a função **Maintainer**. Adicione um bundle de CA privado se a sua instância usar uma autoridade certificadora interna. Depois, clique em **Validate & connect**. Se o seu plano não incluir o GitLab autogerenciado, **Connect** vai direto para o GitLab.com.

**3. Adicione o webhook**

O Enclave mostra uma **Webhook URL** e um **Secret token**. Copie os dois. O segredo é exibido apenas uma vez.

No GitLab, abra seu projeto (ou grupo, no autogerenciado) e acesse **Settings → Webhooks**. Cole a URL e o token secreto, ative **Push events** e **Merge request events** e clique em **Add webhook**. Clique em **Test** para enviar uma entrega.

A conexão fica pendente até que o primeiro evento chegue.

**4. Escolha quais projetos recebem revisão de MRs**

As revisões automáticas vêm ativadas por padrão em todos os projetos do GitLab. Para desativá-las em um projeto, use o botão **PR Reviews** dele em **Coverage → Repositories**. Consulte [Análise de PRs e dependências](https://docs.enclave.ai/pt-br/risk/pr-analysis.md).

## Dicas

* **Crie uma conta dedicada do GitLab** para o Enclave, para que os comentários nos MRs sejam claramente atribuídos. No GitLab autogerenciado, o melhor é um token de conta de serviço e, em seguida, um token de acesso de grupo. Um token pessoal funciona, mas todos os comentários aparecem com o seu nome.
* **Conecte todos os projetos de um sistema.** O Enclave só encontra problemas entre serviços quando consegue ver tanto o serviço quanto as APIs que ele chama.

## Solução de problemas

No GitLab autogerenciado, **Validate & connect** verifica primeiro sua URL e seu token:

* **Enclave requires GitLab 14 or newer**: atualize sua instância.
* **GitLab rejected the token** ou **The token must include the 'api' scope**: emita um novo token com o escopo `api`.
* **The token authenticated but cannot see any projects**: primeiro, adicione o token a um grupo ou projeto.
* **We refused to call that URL**: o hostname foi resolvido para um endereço privado ou interno. O Enclave não se conecta a esses endereços.
* **We could not reach your GitLab instance**: verifique a URL e as regras do seu firewall.

Para fazer a rotação de um token autogerenciado, conecte novamente com um novo token para a mesma instância. O Enclave atualiza a conexão existente e mantém seu webhook funcionando. Depois, revogue o token antigo no GitLab.


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