Compartilhar via


Conectar Azure Boards a GitHub (nuvem)

Azure DevOps Services

Use GitHub.com repositórios para o desenvolvimento de software e seu projeto de 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.

Note

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

Prerequisites

Category Requirements
Permissões - Membro do grupo Administradores de Coleção de Projetos Se você criou o projeto, tem permissões.
- Administrator ou owner do repositório GitHub ao qual se conectar. Você pode se conectar a vários repositórios de GitHub desde que seja um administrador para esses repositórios.
Associação ao projeto Membro do projeto.

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

Note

Se você optar por conectar GitHub com um PAT, configure o SSO (logon único) para o PAT em sua conta 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.

Conectar Azure Boards a um repositório GitHub

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

  2. Selecione as configurações Project>GitHub conexões.

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

  3. Se for a primeira vez que se conectar do projeto, selecione Conecte sua conta de GitHub para usar suas credenciais de conta GitHub.

    Screenshot da primeira vez conectando-se pela primeira vez com 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 à sua conta GitHub, use suas credenciais de GitHub para se autenticar. Para usar um PAT, consulte Add uma conexão GitHub usando PAT. Para se conectar a um GitHub Enterprise Server, consulte Register Azure DevOps em GitHub como um aplicativo OAuth.

Adicionar uma conexão GitHub com credenciais de GitHub

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

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

  2. Selecione a conta GitHub ou a organização que você deseja 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, a seguinte mensagem mostrará:

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

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

Adicionar repositórios GitHub

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

  1. A caixa de diálogo Add GitHub Repositórios é 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.

    Screenshot mostrando repositórios do GitHub.

    Tip

    Para evitar AB# vinculação de menção inesperada, recomendamos conectar um repositório GitHub a projetos em uma única organização Azure DevOps. Conectar o mesmo repositório GitHub a projetos em várias organizações de Azure DevOps pode causar problemas. Para obter mais informações, consulte Solucionar problemas de integração do GitHub e do 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. Revise a página do GitHub exibida e escolha Aprovar, Instalar, & Autorizar.

    Screenshot que mostra a confirmação dos repositórios do GitHub.

  2. Forneça suas credenciais de 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, consulte Conseque o acesso ao repositório Azure Boards.

Adicionar uma conexão GitHub usando PAT

Important

Considere usar os mais seguros tokens Microsoft Entra em relação aos tokens de acesso pessoal de maior risco. Para obter mais informações, consulte Reduzir o uso do PAT. Examine as diretrizes de autenticação para escolher o mecanismo de autenticação correto para suas necessidades.

É recomendável usar suas credenciais de conta GitHub para se conectar ao repositório GitHub.

Tip

Ao criar seu PAT GitHub, certifique-se de incluir esses escopos: repo, read:user, user:email, admin:repo_hook.

  1. Escolha Token de acesso pessoal.

    Screenshot da nova caixa de diálogo de conexão do GitHub, seleção de Token de Acesso Pessoal.

    Para criar um PAT GitHub, acesse GitHub Configurações do Desenvolvedor > 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 se conectar a uma conta ou organização GitHub de Azure Boards, instale o aplicativo Azure Boards para GitHub. Confirme a conexão anteriormente neste artigo.

Registrar Azure DevOps no GitHub como um aplicativo OAuth

Para usar o OAuth para conectar 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 Azure DevOps Services

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

    Captura de tela da tela de login para o servidor GitHub Enterprise.

  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 a de URL da página inicial, especifique o URL da Organização de 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 serviços de Azure DevOps.

  2. Adicione a configuração 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 Azure DevOps Services ao GitHub Enterprise Server

Important

Para conectar Azure DevOps Services ao GitHub Enterprise Server, verifique se o GitHub Enterprise Server está acessível pela Internet. Verifique se o Azure DNS pode resolver o nome do seu GitHub Enterprise Server e se o firewall permite o acesso de endereços IP do Data Center do Azure. Para determinar o intervalo de endereços IP, consulte Microsoft Azure Data Center IP Ranges. Uma mensagem de erro comum para problemas de conectividade é:

Não foi possível resolver o nome remoto: 'github-enterprise-server.contoso.com'

Se você encontrar esse erro, verifique a acessibilidade do seu servidor. Para obter mais informações, consulte Azure DNS perguntas frequentes.

  1. Selecione Project settings>GitHub connections>GitHub Enterprise Server para uma conexão pela primeira vez.

    Primeira conexão, escolha o GitHub Enterprise Server.

    Ou, na caixa de diálogo New GitHub connection, selecione GitHub Enterprise Server.

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

  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 configurada em Step 4 de Registrar sua configuração de OAuth nos Serviços Azure DevOps e escolha Connect.

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

    Screenshot da nova conexão do GitHub Enterprise, caixa de diálogo de conexão de token de acesso pessoal.

    Conectar com as credenciais do GitHub

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

    Captura de tela da tela de conexão do Novo 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 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.

    Tip

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

  4. Se for a primeira vez que se conectar a uma conta ou organização GitHub de 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 GitHub Azure Boards usa vários protocolos de autenticação para manter a conexão. Alterações no escopo de permissão ou credenciais de autenticação de um usuário podem revogar os repositórios de GitHub conectados ao Azure Boards.

Para obter uma visão geral da integração com suporte do aplicativo Azure Boards para GitHub, consulte Azure Boards-GitHub integration.

Opções de autenticação com suporte

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

Platform

GitHub.com

GitHub Enterprise Server

Azure DevOps Services

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

Azure DevOps Server 2020

Não aplicável

  • PAT
  • credenciais de GitHub

Note

GitHub integration support:

  • Azure DevOps Services: integra-se com repositórios GitHub.com e GitHub Enterprise Server por meio do aplicativo Azure Boards para GitHub.
  • Azure DevOps Server 2020 e posterior: Suporta apenas a integração com repositórios do GitHub Enterprise Server.
  • Outros repositórios Git: não há suporte para integração.

Conceder acesso à organização Azure Boards

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

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

  2. Selecione Applications em Integrations>Authorized OAuth Apps>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 aparece na interface de 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.

    • 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 GitHub solicite a reautorização do Azure Boards.

  • Se a conexão estiver usando um PAT:

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

    • O usuário pode não ter 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. Para obter mais informações, consulte Práticas recomendadas para usar PATs.

Resolver a conexão GitHub Enterprise Server interrompida

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

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

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

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

Quando você conecta seu repositório GitHub a projetos em várias organizações do Azure DevOps, como dev.azure.com/Contoso e dev.azure.com/Fabrikam, isso pode causar resultados inesperados com as menções AB#. As IDs de item de trabalho não são exclusivas nas organizações do Azure DevOps, portanto, AB#12 pode se referir a um item de trabalho em Contoso ou em 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 um Azure DevOps organização.

Note

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

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

Atualize as definições XML para os tipos de item de trabalho se sua organização usar o modelo de processo XML hospedado ou XML local para personalizar a experiência de acompanhamento de trabalho e vincular e exibir os tipos de link GitHub da seção Desenvolvimento nos formulários de item de trabalho.

Por exemplo, para vincular histórias de usuário e bugs aos commits e pull requests do GitHub da seção Development, atualize 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 sintaxe de código para dar suporte aos tipos de link externos: GitHub Commit e GitHub Pull Request.

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

Depois de atualizar, a seção deverá aparecer da seguinte maneira.

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

FAQs

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

R: Não. Peça aos usuários para sair e, em seguida, entrar novamente na organização com suas credenciais de GitHub de uma nova sessão do navegador. Essa ação estabelece as suas identidades no GitHub.

P: Sou administrador da organização e habilitei a política para convidar GitHub usuários. Por que não posso convidar novos usuários 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 de GitHub de uma nova sessão do navegador.

P: Entrei com minhas credenciais de GitHub, mas por que não posso convidar GitHub usuários?

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

P: Os usuários do GitHub Enterprise têm acesso gratuito ao Azure DevOps?

R: Para obter mais informações, consulte User e perguntas frequentes sobre gerenciamento de permissões/GitHub Enterprise.

Próximas etapas

O que você pode fazer com a integração GitHub

Uma vez conectado, você pode:

  • Use GitHub Copilot: Use GitHub Copilot com itens de trabalho para geração de código automatizada
  • Vincular itens de trabalho: Vincular automaticamente commits, branches e pull requests a itens de trabalho
  • desenvolvimento Track: monitorar o progresso diretamente do Azure Boards