Conectar o Azure Boards ao GitHub (nuvem)

Azure DevOps Services

Use os repositórios do GitHub.com para seu desenvolvimento de software e seu projeto do Azure Boards para planejar e acompanhar seu trabalho. Conecte seu projeto e repositório para que seus commits e pull requests do GitHub sejam vinculados aos seus itens de trabalho no Azure Boards.

Observação

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

Pré-requisitos

  • Requisitos do projeto: ter um projeto do Azure DevOps. Se você não tiver um projeto, crie um..

  • Permissões:

    • Seja um membro do grupo Administradores do projeto. Se você criou o projeto, tem permissões.
    • Seja um administrador ou proprietário do repositório do GitHub ao qual deseja se conectar. Você pode se conectar a vários repositórios do GitHub desde que seja administrador desses repositórios.

Opções de autenticação

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

GitHub.com

GitHub Enterprise Server

Observação

Se você optar por conectar o Github com o PAT, configure o logon único (SSO) para o PAT em sua conta do GitHub. Essa configuração é necessária para recuperar uma lista de repositórios de uma organização com a autenticação SAML (Security Assertion Markup Language) SSO habilitada.

Conecte o Azure Boards a um repositório do GitHub.

  1. Entre no projeto (https://dev.azure.com/{Your_Organization/Your_Project}).

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

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

  3. Se esta for a primeira vez que você se conecta a partir do projeto, selecione Conectar sua conta do GitHub para usar suas credenciais de conta do GitHub.

    Captura de tela da primeira conexão com as credenciais do GitHub.

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

    Ao se conectar com sua conta do GitHub, use suas credenciais de conta do GitHub para se autenticar. Para usar um PAT, consulte Adicionar uma conexão do GitHub usando PAT. Para se conectar a um GitHub Enterprise Server, consulte Registrar o Azure DevOps no GitHub como um aplicativo OAuth.

Adicionar uma conexão do GitHub com as credenciais do GitHub

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

  1. Se esta for a primeira vez que você se conecta ao GitHub pelo Azure Boards, entre usando suas credenciais do GitHub. Escolha uma conta da qual você seja administrador do repositório.

  2. Selecione a conta ou organização do GitHub que você deseja se conectar. Apenas as organizações das quais você é proprietário ou administrador são listadas.

    Se todos os repositórios de uma organização já estiverem conectados ao Azure Boards, você verá a seguinte mensagem:

    Captura de tela da mensagem em que não existem mais repositórios para se conectar.

  3. Insira suas credenciais do GitHub. Se você tiver a autenticação de dois fatores habilitada, insira o código de autenticação enviado pelo GitHub e selecione Verificar. Caso contrário, o sistema reconhecerá automaticamente sua organização do GitHub, pois sua conta do GitHub está associada à sua conta do Azure DevOps Services.

Adicionar repositórios do GitHub

Uma vez autenticado, você pode selecionar os repositórios que deseja conectar.

  1. A caixa de diálogo Adicionar repositórios do GitHub é exibida automaticamente e seleciona todos os repositórios GitHub.com para os quais você é administrador na organização selecionada. Desmarque os repositórios que você não deseja incluir na integração.

    Captura de tela mostrando os repositórios do GitHub.

    Dica

    Para evitar a vinculação inesperada da menção AB#, recomendamos conectar um repositório GitHub a projetos em uma única organização do Azure DevOps. Conectar o mesmo repositório do GitHub a projetos em várias organizações do Azure DevOps pode causar problemas. Para obter mais informações, consulte Solução de problemas de integração do GitHub e Azure Boards.

    Se todos os repositórios já estiverem conectados à organização atual ou a outra organização, a seguinte mensagem será exibida:

    Captura de tela da mensagem em que não existem mais repositórios para se conectar.

  2. Depois de fazer suas seleções, selecione Salvar.

Confirmar a conexão

  1. Examine a página do GitHub exibida e escolha Aprovar, Instalar e autorizar.

    Captura de tela mostrando confirmação de repositórios do GitHub.

  2. Forneça sua senha do GitHub para confirmar.

  3. Quando terminar, você deverá ver a nova conexão com os repositórios selecionados listados.

Captura de tela da lista dos repositórios conectados.

Para alterar a configuração ou gerenciar o aplicativo Azure Boards para GitHub, confira Alterar o acesso do repositório ao Azure Boards.

Adicionar uma conexão do GitHub usando PAT

Recomendamos usar as credenciais de sua conta do GitHub para se conectar ao seu repositório do GitHub. Se você precisar usar um PAT, execute as etapas a seguir.

Dica

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

  1. Escolha Token de acesso pessoal.

    Captura de tela da caixa de diálogo Nova conexão do GitHub, escolhendo Token de Acesso Pessoal.

    Para criar um PAT do GitHub, acesse Configurações de Desenvolvedor do GitHub > tokens de acesso pessoal.

  2. Insira o PAT e selecione Conectar.

    Captura de tela mostrando a PAT inserida.

  3. Selecione os repositórios que você deseja conectar ao projeto em Escolher os repositórios seguindo os procedimentos descritos anteriormente neste artigo.

  4. Se for a primeira vez que você se conecta a uma conta ou organização do GitHub pelo Azure Boards, instale o aplicativo Azure Boards para GitHub. Confirme a conexão anteriormente neste artigo.

Registrar o Azure DevOps no GitHub como um aplicativo OAuth

Para usar o OAuth para conectar o Azure DevOps ao seu GitHub Enterprise Server, primeiro registre o aplicativo como um aplicativo OAuth. Para obter mais informações, consulte Criar um Aplicativo OAuth.

Registrar o Azure DevOps Services

  1. Entre no portal da Web para o servidor GitHub Enterprise.

    Captura de tela da entrada do GitHub Enterprise Server.

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

    Captura de tela mostrando a sequência do novo aplicativo OAuth.

  3. Digite as informações de registro.

    Para URL da página inicial, especifique o URL da Organização da sua organização.
    Para a URL de retorno de chamada de autorização, use o padrão a seguir para construir a URL.

    {Azure DevOps Services Organization URL}/_admin/oauth2/callback

    Por exemplo:

    https://dev.azure.com/fabrikam/_admin/oauth2/callback

    Captura de tela mostrando o aplicativo para se registrar.

  4. Selecione Registrar aplicativo.

  5. O ID do Cliente e Segredo do Cliente para seu aplicativo OAuth registrado.

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

Registrar sua configuração do OAuth no Azure DevOps Services

  1. Entre no portal da Web para o Azure DevOps Services.

  2. Adicione a configuração do GitHub Enterprise Oauth à sua organização.

  3. Em Configurações da organização, selecione Configurações do Oauth>Adicionar configuração Oauth.

    Captura de tela de Abrir Configurações da Organização aberta, configurações do OAuth.

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

    caixa de diálogo de Configuração do OAuth.

Conectar o Azure DevOps Services ao GitHub Enterprise Server

Importante

Para conectar o Azure DevOps Services ao seu GitHub Enterprise Server, certifique-se de que o GitHub Enterprise Server esteja acessível pela Internet. Certifique-se de que o DNS do Azure possa resolver o nome do GitHub Enterprise Server e que seu firewall permita o acesso a partir dos endereços IP do Azure Data Center. Para determinar o intervalo de endereços IP, confira Intervalos de IP do Datacenter do Microsoft Azure. Uma mensagem de erro comum para problemas de conectividade é:

O nome remoto não pôde ser resolvido: 'github-enterprise-server.contoso.com'

Se você encontrar esse erro, verifique a acessibilidade do seu servidor. Para obter mais informações, confira Perguntas Frequentes sobre o DNS do Azure.

  1. Selecione Configurações do projeto>Conexões GitHub>GitHub Enterprise Server para uma conexão pela primeira vez.

    Primeira conexão, escolha GitHub Enterprise Server.

    Ou, na caixa de diálogo Nova Conexão do GitHub, selecione GitHub Enterprise Server.

    Captura de tela da caixa de diálogo Nova conexão do GitHub, GitHub Enterprise Server selecionado.

  2. Selecione o método de autenticação.

    Captura de tela mostrando a caixa de diálogo do método de autenticação.

    Conectar-se ao OAuth

    Escolha a configuração que você configurou na Etapa 4 de Registrar sua configuração do OAuth no Azure DevOps Servicese escolha Conectar.

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

    Conectar-se por meio de um Token de Acesso Pessoal

    Insira a URL do servidor GitHub Enterprise e as credenciais de token de acesso pessoal reconhecidas por esse servidor. Escolha Conectar.

    Captura de tela de Nova conexão do GitHub Enterprise, caixa de diálogo Conexão de token de acesso pessoal.

    Conectar com nome de usuário e senha

    Insira a URL do servidor GitHub Enterprise e as credenciais de conta de administrador reconhecidas por esse servidor e selecione Conectar.

    Captura da tela Nova conexão do GitHub Enterprise, caixa de diálogo de conexão de Nome de Usuário.

  3. 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 ao terminar.

    Captura de tela dos repositórios listados.

    Dica

    Você só pode fazer uma conexão com repositórios definidos em uma organização do GitHub. Para conectar um projeto a outros repositórios definidos em outra organização do GitHub, você deve adicionar outra conexão.

  4. Se for a primeira vez que se conectar a uma conta ou organização do GitHub do Azure Boards, você também instalará o aplicativo Azure Boards para GitHub. Confirme a conexão anteriormente neste artigo.

Resolver problemas de conexão

A integração do Azure Boards com o GitHub usa vários protocolos de autenticação para manter a conexão. As alterações no escopo de permissão ou nas credenciais de autenticação de um usuário podem revogar os repositórios do GitHub conectados ao Azure Boards.

Para obter uma visão geral da integração suportada pelo aplicativo Azure Boards para GitHub, consulte Integração do Azure Boards com o GitHub.

Opções de autenticação com suporte

As seguintes opções de autenticação suportadas dependem da plataforma GitHub à qual você está se conectando:

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.

Conceder acesso à organização Azure Boards

Se a integração entre o Azure Boards e o GitHub não estiver funcionando conforme o esperado, verifique se você concedeu acesso à organização.

  1. No portal da Web do GitHub, abra Configurações no menu de perfil.
    Captura de tela do perfil aberto, escolha Configurações.

  2. Selecione Aplicativos em Integrações>Aplicativos OAuth Autorizados>Azure Boards.

  3. Em Acesso à organização, resolva possíveis problemas que possam aparecer. Selecione Conceder para conceder acesso a todas as organizações que aparecem com uma solicitação de Acesso pendente.

    Captura de tela do acesso da Organização com organizações sem acesso.

Resolver problemas de acesso

Quando a conexão do Azure Boards com o GitHub perde o acesso, um status de alerta com um X vermelho é exibido na interface do usuário. Passe o mouse sobre o alerta para ver que as credenciais não são mais válidas. Para corrigir o problema, remova a conexão e crie uma nova.

Captura de tela da conexão com falha.

Para resolver esse problema, considere os itens a seguir:

  • 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:

    • A PAT pode ter sido revogada ou os escopos de permissão necessários podem ter sido alterados e são insuficientes.

    • O usuário pode não ter permissões de administrador no repositório do 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.

Resolver a conexão do GitHub Enterprise Server interrompida

Se você migrou do Azure DevOps Server para o Azure DevOps Services com uma conexão existente do GitHub Enterprise Server, sua conexão existente pode não funcionar como esperado. As menções de itens de trabalho no GitHub podem ser atrasadas ou nunca aparecer no Azure DevOps Services porque a URL de retorno de chamada associada ao GitHub não é mais válida. Considere as seguintes resoluções:

  • Remova e recrie a conexão: remova e recrie a conexão com o repositório do GitHub Enterprise Server. Siga a sequência de etapas fornecidas na documentação Conectar pelo Azure Boards.

  • Corrigir a URL do webhook: vá para a página de configurações do repositório do GitHub e edite a URL do webhook, apontando para a URL da organização de Azure DevOps migrada: https://dev.azure.com/{OrganizationName}/_apis/work/events?api-version=5.2-preview

Conectar-se a várias organizações do Azure DevOps

Conectar seu repositório GitHub a projetos em várias organizações do Azure DevOps, como dev.azure.com/Contoso e dev.azure.com/Fabrikam, pode causar resultados inesperados com menções AB#. Os IDs de itens de trabalho não são exclusivos nas organizações do Azure DevOps, portanto, AB#12 pode se referir a um item de trabalho na Contoso ou na Fabrikam. Quando um item de trabalho é mencionado em uma mensagem de confirmação ou solicitação de pull, ambas as organizações podem tentar vincular um item de trabalho com o ID correspondente, causando confusão.

Para evitar esse problema, conecte um único repositório GitHub a apenas uma organização do Azure DevOps.

Observação

Quando você se conecta usando o aplicativo Azure Boards para GitHub, o aplicativo impede conexões com várias organizações. Se um repositório do GitHub estiver conectado à organização errada do Azure DevOps, entre em contato com o proprietário dessa organização para remover a conexão antes de adicionar o repositório à organização correta do Azure DevOps.

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

Atualize as definições de XML para os tipos de itens de trabalho se a sua organização usar o modelo de processo XML hospedado ou XML local, para personalizar a experiência de rastreamento de trabalho, vincular e visualizar os tipos de links do GitHub na seção Desenvolvimento nos formulários de itens de trabalho.

Por exemplo, para vincular histórias de usuários e bugs a commits do GitHub e solicitações de pull 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: Commit 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 da forma a seguir.

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

Perguntas Frequentes

P: Alguns dos meus usuários no Azure DevOps têm identidades do GitHub. Preciso adicioná-los como novos usuários do GitHub para a minha organização?

R: Não. Peça aos usuários que saiam e entrem novamente na organização com suas credenciais do GitHub em uma nova sessão do navegador. Essa ação estabelecerá suas identidades no GitHub.

P: sou administrador de uma organização e habilitei a política para convidar usuários do GitHub. Por que não posso convidar novos usuários do GitHub?

R: depois de alterar a configuração, saia do Azure DevOps e entre novamente na organização (dev.azure.com/{organizationName} ou organizationName.visualstudio.com) com suas credenciais do GitHub em uma nova sessão do navegador.

P: Mesmo entrando com minhas credenciais do GitHub, por que não posso convidar usuários do GitHub?

R: Somente administradores de organização ou projeto podem convidar novos usuários para ingressar na organização. Talvez você não tenha as permissões necessárias para adicionar novos usuários. Trabalhe com seu administrador para obter as permissões necessárias ou peça que ele adicione o usuário para você.

Próximas etapas