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 2020 local dá suporte à integração com repositórios do GitHub.com e do GitHub Enterprise Server. Se você quiser se conectar do Azure DevOps Services, confira Conectar o Azure Boards ao GitHub.

Ao conectar seu projeto do Azure DevOps Server com seus repositórios do GitHub Enterprise Server, 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 enquanto usa o Azure Boards para planejar e acompanhar seu trabalho.

Observação

O Azure DevOps Server 2019 local dá suporte à integração com repositórios do GitHub Enterprise Server. Se você quiser se conectar do Azure DevOps Services, confira Conectar o Azure Boards ao GitHub.

Pré-requisitos

  • Conecte-se aos repositórios do GitHub.com instalando o Azure DevOps Server 2020.1.1 Patch 2. Sem esse patch, você só pode se conectar aos repositórios do GitHub Enterprise Server.
  • Instale o aplicativo Azure Boards para GitHub na conta ou nas organizações do GitHub.
  • Conecte-se a um projeto do Azure Boards ou do Azure DevOps. Se você não tiver um projeto ainda, crie um.
  • Você deve ser membro do grupo Administradores de Coleção de Projetos e do grupo Colaboradores do projeto. Se você criou o projeto, terá permissões.
  • Você deve ser um administrador do GitHub Enterprise Server ao qual se conectará.

Opções de autenticação

As seguintes opções de autenticação têm suporte.

Observação

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

Registrar o Azure DevOps no GitHub como um aplicativo OAuth

Se você planeja usar o OAuth para conectar o Azure DevOps Server com o GitHub Enterprise Server, primeiro precisa registrar o aplicativo como um aplicativo OAuth. Para obter mais informações, consulte Criar um Aplicativo OAuth.

Registrar o Azure DevOps Server

  1. Entre no portal da Web do seu GitHub Enterprise Server.

    Captura de tela da entrada do GitHub Enterprise Server.

  2. Selecione Configurações>Configurações do desenvolvedor>Aplicativos OAuth>Novo aplicativo OAuth.

    Captura de tela mostrando a sequência para chegar à tela New OAuth App.

  3. Insira suas informações para registrar seu aplicativo Azure DevOps Server.

    Captura de tela do registro de projeto do Azure DevOps Server.

    Para a URL da Página Inicial, especifique a URL pública da coleção de projetos. Você pode encontrar essa URL ao abrir o Console de Administração do Azure DevOps e exibindo o nó Camada de Aplicativo.

    Captura de tela do console de administração do Azure DevOps Server e da camada de aplicativo.

    Para a URL de retorno de chamada de autorização, use o padrão a seguir para construir a URL.

    {Azure DevOps Server Public Url}/{Collection Name}/_admin/oauth2/callback

    Por exemplo:

    http://contoso/DefaultCollection/_admin/oauth2/callback

    https://tfs.contoso.com/MyCollection/_admin/oauth2/callback

  4. Selecione Registrar aplicativo.

  5. É exibida uma página que fornece a ID do cliente e o Segredo do Cliente para seu aplicativo OAuth registrado.

    Captura de tela do ID do cliente e do Segredo do cliente para o seu aplicativo OAuth registrado.

Registrar a configuração do OAuth no Azure DevOps Server

  1. Entre no portal da Web para seu Azure DevOps Server.

  2. Adicione a configuração do OAuth do GitHub Enterprise à sua coleção do Azure DevOps Server.

  3. Selecione Configurações do administrador>Configurações do Oauth>Adicionar configuração do Oauth.

    Captura de tela mostrando a sequência de etapas para adicionar a configuração do OAuth.

  4. Insira as informações, selecione Criar.

    Captura de tela da caixa de diálogo de configuração do OAuth.

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.

Você pode conectar até 100 repositórios GitHub a um projeto do Azure Boards. Esse limite não pode ser alterado.

  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.

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

    Captura de tela de Configurações do Projeto abertas>Conexões do GitHub.

  2. Se for a primeira vez que você faz uma conexão com o projeto, escolha o método de autenticação que 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.

  1. Selecione Configurações do projeto>Conexões do GitHub>Conecte sua conta do GitHub Enterprise.

    Captura de tela das configurações do projeto e Integrações selecionadas.

    Ou escolha um token de acesso pessoal ou nome de usuário e senha, se estiver usando essas credenciais.

Conectar-se ao OAuth

Escolha a configuração que definiu na Etapa 4 de Registrar sua configuração do OAuth no Azure DevOps Server. Em seguida, selecione Conectar.

Captura de tela da nova conexão do GitHub Enterprise e da caixa de diálogo de conexão OAuth.

Conectar-se por meio de um Token de Acesso Pessoal

  1. Para criar um PAT, confira Criar um token de acesso pessoal.

    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 de entrada com o PAT.

Conectar com um nome de usuário e senha

  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 da entrada com nome de usuário e senha.

  1. 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.

  2. 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.

Opções de autenticação com suporte

As opções de autenticação a seguir têm suporte com base na plataforma GitHub à qual você deseja se conectar.

Plataforma

GitHub.com

GitHub Enterprise Server

Azure DevOps Services

  • GitHub.com conta de usuário
  • PAT (token de acesso pessoal)
  • OAuth
  • PAT
  • Nome de usuário mais senha

Azure DevOps Server 2020

Não aplicável

  • PAT
  • Nome de usuário mais senha

Azure DevOps Server 2019

Não aplicável

  • OAuth
  • PAT
  • Nome de usuário mais senha

Observação

Com o aplicativo Azure Boards para GitHub, o Azure Boards e o Azure DevOps Services se integram aos repositórios do GitHub.com e do GitHub Enterprise Server. Azure DevOps Server 2019 e versões posteriores dão suporte à integração somente com repositórios GitHub Enterprise Server. Não há suporte para a integração com outros repositórios Git.

Resolver problemas de acesso

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.

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 red-X que tem uma dica de ferramenta como, Não é possível se conectar ao GitHub.

Considere as seguintes resoluções:

  • Se a conexão estiver usando o OAuth:

    • O aplicativo Azure Boards teve seu 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 PAT:

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

    • O usuário pode ter perdido permissões de administrador no repositório GitHub.

      Recrie o 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 a sua organização usar o modelo de processo XML hospedado ou XML local para personalizar a experiência de acompanhamento de trabalho e você quiser vincular e exibir os tipos de link do GitHub da seção Desenvolvimento nos formulários do item de trabalho, você precisará atualizar as definições XML para os tipos de item de trabalho.

Por exemplo, se você quiser vincular histórias de usuário e bugs às solicitações de confirmação e pull do GitHub da seção Desenvolvimento, será necessário atualizar as definições XML para histórias de usuário e bugs.

Siga a sequência de tarefas fornecidas em modelo de processo XML hospedado para atualizar as definições XML. Para cada tipo de item de trabalho, localize a seção Group Label="Development" e adicione as duas linhas a seguir na seguinte sintaxe de código para dar suporte aos tipos de links externos: Confirmação do GitHub e Solicitação de Pull do GitHub.

             <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