Conectar o Azure DevOps Server ao GitHub (local)
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Quando você conecta seu projeto do Servidor de DevOps do Azure aos repositórios do GitHub, dá suporte à vinculação entre confirmações do GitHub e solicitações pull para itens de trabalho. Você pode usar o GitHub para desenvolvimento de software enquanto usa os Painéis do Azure para planejar e acompanhar seu trabalho.
Nota
O Azure DevOps Server 2020 local oferece suporte à integração com repositórios GitHub.com e GitHub Enterprise Server. Se você quiser se conectar a partir dos Serviços de DevOps do Azure, consulte Conectar painéis do Azure ao GitHub.
Ao conectar seu projeto do Azure DevOps Server aos repositórios do GitHub Enterprise Server, você dá suporte à vinculação entre confirmações do GitHub e solicitações pull para itens de trabalho. Você pode usar o GitHub Enterprise para desenvolvimento de software enquanto usa os Painéis do Azure para planejar e acompanhar seu trabalho.
Nota
O Azure DevOps Server 2019 local oferece suporte à integração com repositórios do GitHub Enterprise Server. Se você quiser se conectar a partir dos Serviços de DevOps do Azure, consulte Conectar painéis do Azure ao GitHub.
Pré-requisitos
- Integração com GitHub:
- Conecte-se a repositórios 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 nas organizações ou conta do GitHub.
- Conexão do projeto: conecte-se a um Azure Boards ou a um projeto do Azure DevOps. Se você ainda não tem um projeto, crie um.
- Permissões:
Opções de autenticação
As seguintes opções de autenticação são suportadas.
Nota
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 Servidor de DevOps do Azure ao seu GitHub Enterprise Server, primeiro precisa registrar o aplicativo como um Aplicativo OAuth. Para obter mais informações, consulte Criar um aplicativo OAuth.
Registrar o Servidor de DevOps do Azure
Faça login no portal da Web do seu servidor GitHub Enterprise.
Selecione Configurações>Configurações do desenvolvedor Aplicativos>>Oauth Novo aplicativo OAuth.
Insira suas informações para registrar seu aplicativo do Azure DevOps Server.
Para a URL da página inicial, especifique a URL pública da sua coleção de projetos. Você pode encontrar essa URL ao abrir o Console de Administração do Azure DevOps e exibir o nó 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
Selecione Registrar aplicativo.
É exibida uma página que fornece a ID do Cliente e o Segredo do Cliente para seu aplicativo OAuth registrado.
Registrar sua configuração OAuth no Azure DevOps Server
Entre no portal da Web do seu Servidor de DevOps do Azure.
Adicione a configuração do GitHub Enterprise Oauth à sua coleção do Azure DevOps Server.
Selecione Configurações>de administrador Configurações de>Oauth Adicionar configuração de Oauth.
Introduza as suas informações e, em seguida, selecione Criar.
Conectar o Azure DevOps Server ao GitHub Enterprise Server
Você pode conectar até 250 repositórios do GitHub a um projeto do Azure Boards.
Nota
A conexão com mais de 100 repositórios do GitHub requer a atualização do Azure DevOps Server 2020.1 ou versão posterior.
A conexão com repositórios GitHub.com requer o Azure DevOps Server 2020.1.1 Patch 2 ou versão posterior.
Você pode conectar até 100 repositórios do GitHub a um projeto do Azure Boards. Este limite não pode ser alterado.
Abra o portal da Web para seu Servidor de DevOps do Azure.
Selecione o logotipo do Azure DevOps para abrir Projetos e, em seguida, escolha o projeto do Azure Boards que você deseja configurar para se conectar aos repositórios do GitHub Enterprise.
Selecione Configurações do>projeto Conexões do GitHub.
Se for a primeira vez que faz uma conexão do projeto, escolha o método de autenticação que deseja usar para fazer a conexão:
- Token de Acesso Pessoal, para obter detalhes, consulte Conectar usando um Token de Acesso Pessoal.
- Nome de usuário e senha, consulte Conectar usando um nome de usuário e senha.
Caso contrário, selecione Nova conexão e selecione seu método de autenticação na caixa de diálogo Nova conexão .
Selecione Configurações do>projeto Conexões>do GitHub Conecte sua conta do GitHub Enterprise.
Ou escolha um token de acesso pessoal ou nome de usuário e senha, se você estiver usando essas credenciais.
Conecte-se com OAuth
Escolha a configuração que você definiu na Etapa 4 de Registrar sua configuração OAuth no Servidor de DevOps do Azure. Em seguida, selecione Conectar.
Conecte-se com um token de acesso pessoal
Para criar um PAT, consulte Criando um token de acesso pessoal.
Gorjeta
Ao criar seu PAT do GitHub, certifique-se de incluir estes escopos:
repo, admin:repo_hook, read:user, user:email
.Insira a URL do seu servidor GitHub Enterprise e as credenciais do token de acesso pessoal reconhecidas por esse servidor. E, em seguida, selecione Conectar.
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, em seguida, escolha Conectar.
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. Escolha Salvar quando terminar.
Para se conectar a uma conta ou organização do GitHub a partir dos Painéis do Azure pela primeira vez, você também instala o aplicativo Painéis do Azure para GitHub. Conclua a integração seguindo os procedimentos descritos em Confirmar a conexão.
Resolver problemas de ligação
A integração 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 a revogação dos repositórios do GitHub conectados aos Painéis do Azure.
Para obter uma visão geral da integração suportada pelo aplicativo Azure Boards for GitHub, consulte Integração Azure Boards-GitHub.
Opções de autenticação suportadas
As seguintes opções de autenticação são suportadas com base na plataforma GitHub à qual você deseja se conectar.
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.
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. Passe o cursor sobre o alerta e ele 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.
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 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 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 talvez tenha perdido permissões administrativas 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
.
Atualizar definições XML para tipos de item de trabalho selecionados
Se sua organização personaliza o controle de trabalho usando o XML hospedado ou o modelo de processo XML local e deseja integrar os tipos de link do GitHub na seção Desenvolvimento dos 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ários e bugs a confirmações do GitHub e solicitações pull dentro da 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 XML, execute as etapas descritas em Modelo de processo XML hospedado. Para cada tipo de item de trabalho:
- Localize a
Group Label="Development"
seção. - Para suportar os 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 das atividades do GitHub diretamente de seus itens de trabalho nos Painéis do Azure.
<ExternalLinkFilter Type="GitHub Pull Request" />
<ExternalLinkFilter Type="GitHub Commit" />
Quando for atualizado, a seção deve 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>