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

# Integração com Azure DevOps

> Conecte repositórios do Azure DevOps Services ao ZeroPath para scans, verificações de PR, comentários e pull requests de correção

<h2 id="overview">
  Visão geral
</h2>

O ZeroPath suporta o Azure DevOps Services como um provedor de VCS de primeira classe. Depois de conectar uma
organização do Azure DevOps Services, você pode importar repositórios do Azure Repos, executar scans completos, escanear pull
requests a partir de eventos de service hooks, publicar verificações de status e comentários inline, criar pull requests
de correção para achados validados e visualizar achados de dependências no painel
[Supply Chain](/pt/sca/overview).

<Warning>
  O suporte ao Azure DevOps atualmente contempla organizações do **Azure DevOps Services na nuvem**, como
  `https://dev.azure.com/{organization}`. O Azure DevOps Server não está incluído neste caminho de configuração v1.
</Warning>

<h2 id="prerequisites">
  Pré-requisitos
</h2>

* Uma organização no ZeroPath onde você possa criar instalações de VCS e repositórios.
* Uma organização do Azure DevOps Services e pelo menos um projeto com o Azure Repos habilitado.
* Permissão no Azure DevOps para ler repositórios e criar service hooks nos projetos que você
  quer que o ZeroPath monitore.
* Uma conta Microsoft Entra que possa autorizar o ZeroPath ou um personal access token com os
  escopos necessários.

<h2 id="connect-azure-devops-services">
  Conecte o Azure DevOps Services
</h2>

<Tabs>
  <Tab title="Microsoft Entra OAuth (Recomendado)">
    Use OAuth quando sua organização puder aprovar uma conexão delegada do Microsoft Entra. Este é o
    caminho recomendado porque os usuários não precisam copiar PATs de longa duração para o ZeroPath.

    <Steps>
      <Step title="Abra a configuração do Azure DevOps">
        No ZeroPath, acesse [Add Repositories](https://zeropath.com/app/repositories?m=AddRepos\&tab=azureDevOps), selecione a aba **Azure DevOps** e clique em **Setup Azure DevOps**.
      </Step>

      <Step title="Insira a URL da sua organização">
        Insira a URL da sua organização do Azure DevOps Services, por exemplo
        `https://dev.azure.com/my-organization`.
      </Step>

      <Step title="Autorize o ZeroPath">
        Prossiga pela tela de consentimento da Microsoft. O ZeroPath troca o código de autorização por
        material de credencial criptografado e valida o acesso listando os projetos e
        repositórios do Azure DevOps.
      </Step>

      <Step title="Importe repositórios">
        Após o callback, os repositórios acessíveis aparecem na aba Azure DevOps. Selecione repositórios
        individuais, importe um lote selecionado ou clique em **Add all accessible Azure DevOps
        repositories**.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Token de acesso pessoal">
    Use o caminho de PAT quando a aprovação de OAuth ainda não estiver disponível ou quando o seu modelo de acesso ao Azure DevOps
    exigir um token pertencente a uma service account específica.

    <Steps>
      <Step title="Crie um PAT">
        No Azure DevOps Services, crie um personal access token para a organização que você quer
        conectar.
      </Step>

      <Step title="Conceda os escopos necessários">
        Conceda acesso de leitura/gravação a repositórios, acesso de leitura/gravação a threads de pull request, acesso a status ou build
        status e acesso de gerenciamento de service hooks. Essas permissões permitem que o ZeroPath liste
        repositórios, clone código, escaneie PRs, publique comentários/status, crie PRs de correção e reconcilie
        service hooks.
      </Step>

      <Step title="Conecte com o PAT">
        No ZeroPath, abra o diálogo de configuração do Azure DevOps, escolha **Personal Access Token**, insira a
        URL da sua organização e o PAT e então clique em **Connect with PAT**.
      </Step>

      <Step title="Importe repositórios">
        Depois que o ZeroPath validar o token, importe repositórios individuais, lotes selecionados ou todos os
        repositórios acessíveis.
      </Step>
    </Steps>
  </Tab>
</Tabs>

<h2 id="repository-imports">
  Importação de repositórios
</h2>

O ZeroPath descobre repositórios listando os projetos da organização do Azure DevOps Services
conectada e, em seguida, listando os repositórios Git dentro de cada projeto.

Você pode importar repositórios de três formas:

* **Repositório único** - selecione um repositório e clique em **Add selected Azure DevOps repositories**.
* **Lote selecionado** - selecione vários repositórios na tabela e importe-os juntos.
* **Adicionar todos** - importe todos os repositórios acessíveis e não arquivados do Azure DevOps sem paginar
  a lista completa no navegador.

Repositórios arquivados do Azure DevOps são automaticamente excluídos da sua lista de repositórios, seguindo
o comportamento já existente para repositórios do GitHub e do GitLab.

Repositórios importados recebem as mesmas configurações padrão de scanner, tags, limites de repositórios, eventos de
auditoria e notificações de repositório adicionado que os demais provedores de VCS suportados.

<h2 id="pr-scanning">
  Scan de PRs
</h2>

O ZeroPath cria assinaturas de service hooks do Azure DevOps para os projetos conectados. Quando um pull request
é criado ou atualizado, o ZeroPath agenda um scan de PR sobre os arquivos alterados.

Os resultados do scan de PR podem incluir:

* Um status do ZeroPath publicado no pull request do Azure DevOps.
* Comentários de revisão inline nas linhas de diff afetadas.
* Um comentário de resumo no PR com o resultado do scan.
* Resolução automática de threads de comentários obsoletas quando os achados são corrigidos ou triados.

<Info>
  Os comandos do bot não estão disponíveis no momento em comentários de PR do Azure DevOps. Use o painel para
  ações de triagem, como marcação de falso positivo, atribuição e geração de correções.
</Info>

<h2 id="patch-pull-requests">
  Pull requests de correção
</h2>

Quando um achado é elegível para uma correção automática, o ZeroPath pode criar um pull request no Azure DevOps
usando o mesmo fluxo de correção dos demais provedores de VCS suportados:

* Gerar um branch de correção.
* Fazer o commit da correção com a convenção padrão de mensagens de commit do ZeroPath.
* Abrir um pull request direcionado ao branch original.
* Adicionar contexto de resumo e vincular o PR de correção de volta ao achado no ZeroPath.

<h2 id="troubleshooting">
  Solução de problemas
</h2>

<AccordionGroup>
  <Accordion title="Nenhum projeto ou repositório aparece">
    Confirme que a identidade OAuth ou o PAT pode acessar a organização do Azure DevOps Services e os
    projetos esperados. A conexão deve conseguir listar projetos e repositórios.
  </Accordion>

  <Accordion title="A importação de repositório falha">
    Verifique se um repositório com o mesmo nome ou URL já está vinculado no ZeroPath. Verifique também
    se a sua organização não atingiu o limite de repositórios.
  </Accordion>

  <Accordion title="Scans de PR não iniciam">
    Confirme que o scan de PR está habilitado nas configurações do repositório no ZeroPath e que a conexão do
    Azure DevOps ainda tem permissão para gerenciar service hooks no projeto em questão. Para PRs grandes,
    o ZeroPath recorre automaticamente a um método alternativo de obtenção do diff se o método primário
    exceder o tempo limite, então os scans de PR ainda devem ser concluídos.
  </Accordion>

  <Accordion title="Status ou comentários não aparecem">
    Verifique se a concessão OAuth ou o PAT inclui acesso de escrita para status, comentários de pull request e
    threads de pull request. Reconecte a instalação após rotacionar as credenciais.
  </Accordion>

  <Accordion title="A criação de PR de correção falha">
    Confirme que a credencial pode criar branches, enviar commits e abrir pull requests no repositório
    de destino. Políticas de branch no Azure DevOps também podem bloquear atualizações automatizadas de branches.
  </Accordion>
</AccordionGroup>

<h2 id="operational-notes">
  Notas operacionais
</h2>

* **Renovação de token OAuth**: quando você conecta o Azure DevOps via Microsoft Entra OAuth, o ZeroPath
  renova automaticamente os tokens de acesso expirados durante as operações de scan. Você não precisa
  reconectar manualmente a instalação quando o token de acesso OAuth de curta duração expira. Se o refresh
  token em si for revogado ou expirar, o ZeroPath solicita que você reconecte a instalação.
* Desconectar uma instalação do Azure DevOps impede que novos scans sejam agendados para aquela
  conexão e remove todos os repositórios que foram vinculados por meio dela. Repositórios protegidos pelo
  modo pesquisador são retidos até que o modo pesquisador seja desabilitado.
* Rotacione PATs reconectando a instalação do Azure DevOps com o novo token.
* Se novos projetos forem adicionados após a configuração, reconecte ou ressincronize os service hooks para que o ZeroPath possa se inscrever
  nos eventos de PR e de criação de repositórios desses projetos.
