Partilhar via


Conectar painéis do Azure ao GitHub (nuvem)

Serviços de DevOps do Azure

Use repositórios GitHub.com para seu desenvolvimento de software e seu projeto de Painéis do Azure para planejar e acompanhar seu trabalho. Conecte seu projeto e repositório para que suas confirmações do GitHub e solicitações pull sejam vinculadas aos seus itens de trabalho nos Painéis do Azure.

Nota

Os Painéis do Azure e os Serviços de DevOps do Azure suportam a integração com os repositórios GitHub.com e GitHub Enterprise Server. Se você quiser se conectar de um Servidor de DevOps do Azure local, consulte Conectar o Servidor de DevOps do Azure ao GitHub Enterprise Server.

Pré-requisitos

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

  • Permissões:

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

Opções de autenticação

As seguintes opções de autenticação são suportadas com base na plataforma GitHub à qual você deseja se conectar.

GitHub.com

Servidor GitHub Enterprise

Nota

Se você optar por conectar o GitHub a um PAT, configure o logon único (SSO) para a 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 SSO SAML (Security Assertion Markup Language) habilitada.

Conecte o Azure Boards a um repositório GitHub.

  1. Inicie sessão no seu projeto (https://dev.azure.com/{Your_Organization/Your_Project}).

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

    Captura de tela das conexões GitHub abertas das Configurações>do Project.

  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 seu método de autenticação na caixa de diálogo Nova conexão .

    Quando você se conectar com sua conta do GitHub, use suas credenciais do GitHub para autenticar. Para usar um PAT, consulte Adicionar uma conexão 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 credenciais do GitHub

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

  1. Se esta for a primeira vez que você se conecta ao GitHub a partir dos Painéis do Azure, entre usando suas credenciais do GitHub. Escolha uma conta para a qual você seja administrador de repositório.

  2. Selecione a conta ou organização do GitHub que você deseja conectar. Somente as organizações que você possui ou é administrador são listadas.

    Se todos os repositórios de uma organização já estiverem conectados aos Painéis do Azure, você verá a seguinte mensagem:

    Captura de ecrã da mensagem onde não existem mais repositórios para ligar.

  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 à medida que sua conta do GitHub estiver associada à sua conta dos Serviços de DevOps do Azure.

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 exibe e seleciona automaticamente todos os repositórios GitHub.com dos quais você é administrador na organização selecionada. Desmarque todos os repositórios que você não deseja incluir na integração.

    Captura de tela mostrando os repositórios do GitHub.

    Gorjeta

    Para evitar a vinculação inesperada de menções AB# , recomendamos conectar um repositório GitHub a projetos em uma única organização do Azure DevOps. Conectar o mesmo repositório GitHub a projetos em várias organizações de DevOps do Azure pode causar problemas. Para obter mais informações, consulte Solucionar problemas de integração do GitHub & 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 ecrã da mensagem onde não existem mais repositórios para ligar.

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

Confirme a ligação

  1. Revise a página do GitHub exibida e escolha Aprovar, Instalar, & Autorizar.

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

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

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

Captura de ecrã da lista de repositórios ligados.

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

Adicionar uma conexão GitHub usando a PAT

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

Gorjeta

Ao criar seu PAT do GitHub, certifique-se de incluir 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, vá para Configurações do > desenvolvedor do GitHub Tokens de acesso pessoal.

  2. Introduza a PAT e selecione Ligar.

    Captura de tela mostrando o PAT inserido.

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

  4. Se for a primeira vez que se conecta a uma conta ou organização do GitHub a partir dos Painéis do Azure, instale o aplicativo Painéis do Azure 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 os Serviços de DevOps do Azure

  1. Faça login no portal da Web do seu servidor GitHub Enterprise.

    Captura de tela do login no servidor GitHub Enterprise.

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

    Captura de ecrã a mostrar a sequência para a Nova Aplicação OAuth.

  3. Insira as informações de registro.

    Para o 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 ecrã a mostrar a aplicação a registar.

  4. Selecione Registrar aplicativo.

  5. A ID do Cliente e o Segredo do Cliente do seu aplicativo OAuth registrado são exibidos.

    Captura de ecrã do ID do Cliente e do Segredo do Cliente para a aplicação OAuth registada.

Registrar sua configuração OAuth nos Serviços de DevOps do Azure

  1. Entre no portal da Web dos Serviços de DevOps do Azure.

  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 do Oauth.

    Captura de ecrã de Abrir Definições da Organização, Configurações OAuth.

  4. Introduza as suas informações e, em seguida, selecione Criar.

    Caixa de diálogo Configurações do OAuth.

Conectar os Serviços de DevOps do Azure ao GitHub Enterprise Server

Importante

Para conectar os Serviços de DevOps do Azure ao seu GitHub Enterprise Server, verifique se o GitHub Enterprise Server está acessível pela Internet. Verifique se o DNS do Azure pode resolver o nome do GitHub Enterprise Server e se o firewall permite o acesso a partir dos endereços IP do Data Center do Azure. Para determinar o intervalo de endereços IP, consulte Intervalos de IP do Data Center 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 servidor. Para obter mais informações, consulte Perguntas frequentes sobre DNS do Azure.

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

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

    Conecte-se com OAuth

    Escolha a configuração que você definiu na Etapa 4 de Registrar sua configuração OAuth nos Serviços de DevOps do Azure e escolha Conectar.

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

    Conecte-se com um token de acesso pessoal

    Insira a URL do seu servidor GitHub Enterprise e as credenciais do token de acesso pessoal reconhecidas por esse servidor. E, em seguida, escolha Conectar.

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

    Conecte-se com um nome de usuário e senha

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

    Captura de tela da tela Nova conexão do GitHub Enterprise, caixa de diálogo de conexão 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 outros aparecem e, em seguida, verificar os que você deseja adicionar. Quando terminar, selecione Guardar.

    Captura de ecrã dos repositórios listados.

    Gorjeta

    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 você se conecta a uma conta ou organização do GitHub a partir dos Painéis do Azure, você também instala o aplicativo Painéis do Azure para o GitHub. Confirme a conexão anteriormente neste artigo.

Resolver problemas de ligação

A integração Azure Boards-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 aos Painéis do Azure.

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

Opções de autenticação suportadas

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

Plataforma

GitHub.com

Servidor GitHub Enterprise

Serviços de DevOps do Azure

  • GitHub.com conta de utilizador
  • Token de acesso pessoal (PAT)
  • OAuth
  • PAT
  • Nome de utilizador mais palavra-passe

Azure DevOps Server 2020

Não aplicável

  • PAT
  • Nome de utilizador mais palavra-passe

Azure DevOps Server 2019

Não aplicável

  • OAuth
  • PAT
  • Nome de utilizador mais palavra-passe

Nota

Com o aplicativo Azure Boards para GitHub, os Painéis do Azure e os Serviços de DevOps do Azure se integram aos repositórios GitHub.com e GitHub Enterprise Server. O Azure DevOps Server 2019 e versões posteriores suportam apenas a integração com repositórios do GitHub Enterprise Server. A integração com outros repositórios Git não é suportada.

Conceder acesso à organização dos Painéis do Azure

Se a integração entre os Painéis do Azure 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 do seu perfil.
    Captura de tela do perfil aberto, escolha Configurações.

  2. Selecione Aplicativos em Integrations>Authorized OAuth Apps>Azure Boards.

  3. Em Acesso à organização, resolva quaisquer problemas que possam aparecer. Selecione Conceder para conceder acesso a todas as organizações que mostram ter 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 acesso, um status de alerta com um X vermelho aparece na interface do usuário. Passe o cursor sobre o alerta para ver se as credenciais não são mais válidas. Para corrigir o problema, remova a conexão e crie uma nova.

Captura de ecrã da ligação falhada.

Para resolver esse problema, considere os seguintes itens:

  • Se a conexão estiver usando 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 a um problema de infraestrutura/rede no 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 ser revogada ou os escopos de permissão necessários alterados e são insuficientes.

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

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

Resolver conexão do GitHub Enterprise Server quebrada

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

  • Remover e recriar a conexão: remova e recrie a conexão com o repositório do GitHub Enterprise Server. Siga a sequência de etapas fornecida na documentação do Connect from Azure Boards .

  • Corrija 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 do 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 de DevOps do Azure, como dev.azure.com/Contoso e dev.azure.com/Fabrikam, pode causar resultados inesperados com menções AB# . As IDs de item de trabalho não são exclusivas nas organizações de DevOps do Azure, portanto , o 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 pull, ambas as organizações podem tentar vincular a um item de trabalho com a ID correspondente, causando confusão.

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

Nota

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 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 tipos de item de trabalho selecionados

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

Por exemplo, para vincular histórias de usuários e bugs a confirmações do GitHub e solicitações pull da seção Desenvolvimento , atualize as definições XML para histórias de usuários e bugs.

Siga a sequência de tarefas fornecida no modelo de processo XML hospedado para atualizar as definições XML. Para cada tipo de item de trabalho, localize a Group Label="Development" seção e adicione as duas linhas a seguir na sintaxe de código para dar suporte aos tipos de link externo: GitHub Commit e GitHub Pull Request.

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

Após a atualização, a seção deve aparecer da seguinte forma.

<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 no Azure DevOps têm identidades GitHub. Preciso adicioná-los como novos usuários do 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 do GitHub a partir de uma nova sessão do navegador. Esta ação estabelecerá suas identidades GitHub.

P: Sou um administrador da organização e ativei 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 de uma nova sessão do navegador.

P: Eu entrei com minhas credenciais do GitHub, mas por que não posso convidar usuários do GitHub?

R: Somente os administradores da organização ou do 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 o administrador para obter as permissões necessárias ou peça-lhe para adicionar o usuário para você.

Próximos passos