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
- 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.
- Conecte-se a um projeto do Azure Boards ou do Azure DevOps. Se você ainda não tem um projeto, crie um.
- Você deve ser membro do grupo Administradores de Coleção de Projetos e do grupo de Colaboradores do projeto. Se você criou o projeto, então você tem permissões.
- Você deve ser um administrador do GitHub Enterprise Server ao qual você se conecta.
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 ter sido revogada ou os escopos de permissão necessários alterados e são insuficientes.
O usuário pode ter perdido 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
.
Atualizar definições XML para tipos de item de trabalho selecionados
Se sua organização usa o XML hospedado ou o modelo de processo XML local para personalizar a experiência de acompanhamento de trabalho e você deseja vincular e exibir os tipos de link do GitHub na seção Desenvolvimento nos formulários de item de trabalho, você deve atualizar as definições XML para os tipos de item de trabalho.
Por exemplo, se você quiser vincular histórias de usuários e bugs a confirmações do GitHub e solicitações pull da seção Desenvolvimento , será necessário atualizar 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 a seguir para dar suporte aos tipos de links externos: GitHub Commit e GitHub Pull Request.
<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>