Compartilhar via


Conectar o Azure DevOps Server ao GitHub (no local)

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Ao conectar seu projeto do Azure DevOps Server aos seus repositórios do GitHub, você dá suporte à vinculação entre confirmações do GitHub e solicitações de pull para itens de trabalho. Você pode usar o GitHub para desenvolvimento de software ao usar Azure Boards para planejar e acompanhar seu trabalho.

Observação

O Azure DevOps Server dá suporte à integração com repositórios do GitHub.com e do GitHub Enterprise Server. Para se conectar a partir do Azure DevOps Services, veja Conecte o Azure Boards ao GitHub.

Pré-requisitos

Categoria Requisitos
Permissões – Membro do grupo Administradores de Coleção de Projetos e do grupo Colaboradores do projeto. Se você criou o projeto, terá as permissões.
- Administrador do GitHub Enterprise Server ao qual você se conecta.
Associação ao projeto Membro do projeto.
Integração do com o GitHub - Patch 2 do Azure DevOps Server 2020.1.1. Sem esse patch, você só pode se conectar aos repositórios do GitHub Enterprise Server.
- Aplicativo Azure Boards para GitHub instalado na conta ou nas organizações do GitHub.

Opções de autenticação

Há suporte para as seguintes opções de autenticação:

Observação

O OAuth não tem suporte para o Azure DevOps Server 2020.

Conectar o Azure DevOps Server ao GitHub Enterprise Server

Você pode conectar até 250 repositórios do GitHub a um projeto do Azure Boards.

Observação

  • A conexão com mais de 100 repositórios do GitHub requer o Azure DevOps Server atualização 2020.1 ou versão posterior.
  • A conexão com repositórios do GitHub.com requer o Azure DevOps Server 2020.1.1 Patch 2 ou versão posterior.
  1. Abra o portal da Web para seu Azure DevOps Server.

  2. Selecione o logotipo do Azure DevOps para abrir Projetos e escolha o projeto do Azure Boards que deseja configurar para conectar aos seus repositórios do GitHub Enterprise.

  3. Selecione Configurações do projeto>Conexões do GitHub.

    Captura de tela de configurações de projeto abertas, conexões do GitHub.

  4. Se for a primeira vez que você faz uma conexão com o projeto, escolha o método de autenticação que você deseja usar para fazer a conexão:

    Captura de tela da primeira vez conectando-se com as credenciais do GitHub.

    Caso contrário, selecione Nova conexão e selecione o método de autenticação na caixa de diálogo Nova Conexão.

Conectar o Servidor de DevOps do Azure com um Token de Acesso Pessoal do GitHub

  1. Para criar um GITHub PAT, consulte Criar um GITHub PAT.

    Dica

    Ao criar seu PAT do GitHub, inclua estes escopos: repo, admin:repo_hook, read:user, user:email.

  2. Insira a URL do seu servidor GitHub Enterprise e as credenciais do token de acesso pessoal reconhecidas por esse servidor. E depois, selecione Conectar.

    Captura de tela do logon com o GitHub PAT.

Conectar o Servidor do Azure DevOps com credenciais do GitHub

  1. Insira a URL do servidor GitHub Enterprise e as credenciais de conta de administrador reconhecidas por esse servidor. Em seguida, escolha Conectar.

    Captura de tela do login com credenciais do GitHub.

  2. A caixa de diálogo lista todos os repositórios para os quais você tem direitos de administração do GitHub. Você pode alternar entre Meu e Todos para determinar se outras pessoas aparecem e, em seguida, marcar as que deseja adicionar. Selecione Salvar quando terminar.

    Captura de tela dos repositórios a serem selecionados para adicionar.

  3. Para se conectar a uma conta ou organização do GitHub a partir do Azure Boards pela primeira vez, você também instalará o aplicativo Azure Boards para GitHub. Conclua a integração seguindo os procedimentos descritos em Confirmar a conexão.

Resolver problemas de conexão

A integração do Azure Boards-GitHub depende de vários protocolos de autenticação para dar suporte à conexão. Alterações no escopo de permissão ou credenciais de autenticação de um usuário podem causar revogação dos repositórios do GitHub conectados ao Azure Boards.

Para obter uma visão geral da integração compatível com o aplicativo Azure Boards para GitHub, confira Integração do Azure Boards-GitHub.

Quando a conexão do Azure Boards com o GitHub não tem mais acesso, ela mostra um status de alerta na interface do usuário com um X vermelho. Passar o mouse sobre o alerta e indica que as credenciais não são mais válidas. Para corrigir o problema, remova a conexão e recrie uma nova conexão.

Captura de tela da conexão com falha.

Considere as seguintes resoluções:

  • Se a conexão estiver usando o OAuth:

    • O aplicativo Azure Boards teve acesso negado para um dos repositórios.

    • O GitHub pode estar indisponível/inacessível. Essa indisponibilidade pode ser devido a uma interrupção no serviço ou em um problema de infraestrutura/rede local. Você pode verificar o status do serviço nos seguintes links:

      Exclua e recrie a conexão com o repositório GitHub. Essa conexão recriada faz com que o GitHub solicite a reautorização do Azure Boards.

  • Se a conexão estiver usando um GITHub PAT:

    • O GitHub PAT foi revogado ou os escopos de permissão necessários foram alterados e são insuficientes.

    • O usuário talvez tenha perdido permissões administrativas no repositório GitHub.

      Recrie o GITHub PAT e verifique se o escopo do token inclui as permissões necessárias: repo, read:user, user:email, admin:repo_hook.

Atualizar definições XML para selecionar tipos de item de trabalho

Se sua organização personaliza o acompanhamento de trabalho usando o modelo de processo XML hospedado ou XML local e deseja integrar tipos de link do GitHub à seção Desenvolvimento de formulários de item de trabalho, você deve atualizar as definições XML para os tipos de item de trabalho correspondentes.

Por exemplo, para vincular histórias de usuário e bugs a confirmações e solicitações de pull do GitHub na seção Desenvolvimento de formulários de item de trabalho, você deve atualizar as definições XML para esses tipos de item de trabalho.

Para modificar as definições de XML, execute as etapas descritas em Modelo de processo XML hospedado. Para cada tipo de item de trabalho:

  1. Localize a seção Group Label="Development".
  2. Para dar suporte aos tipos de link externo, GitHub Commit e GitHub Pull Request, adicione as seguintes linhas de código:

Essa integração permite o acompanhamento contínuo de atividades do GitHub diretamente de seus itens de trabalho no Azure Boards.

             <ExternalLinkFilter Type="GitHub Pull Request" />  
             <ExternalLinkFilter Type="GitHub Commit" />  

Após a atualização, a seção deve aparecer conforme mostrado.

<Group Label="Development">  
   <Control Type="LinksControl" Name="Development">  
      <LinksControlOptions ViewMode="Dynamic" ZeroDataExperience="Development" ShowCallToAction="true">  
         <ListViewOptions GroupLinks="false">   
         </ListViewOptions>  
         <LinkFilters>  
             <ExternalLinkFilter Type="Build" />  
             <ExternalLinkFilter Type="Integrated in build" />  
             <ExternalLinkFilter Type="Pull Request" />  
             <ExternalLinkFilter Type="Branch" />  
             <ExternalLinkFilter Type="Fixed in Commit" />  
             <ExternalLinkFilter Type="Fixed in Changeset" />  
             <ExternalLinkFilter Type="Source Code File" />  
             <ExternalLinkFilter Type="Found in build" />  
             <ExternalLinkFilter Type="GitHub Pull Request" />  
             <ExternalLinkFilter Type="GitHub Commit" />  
         </LinkFilters>  
      </LinksControlOptions>  
   </Control>  
</Group>  

Próximas etapas