Conectar o Azure DevOps Server ao GitHub (no local)
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Ao conectar seu projeto do Azure DevOps Server aos seus repositórios do GitHub, você dá suporte à vinculação entre confirmações do GitHub e solicitações de pull para itens de trabalho. Você pode usar o GitHub para desenvolvimento de software ao usar Azure Boards para planejar e acompanhar seu trabalho.
Observação
O Azure DevOps Server 2020 local dá suporte à integração com repositórios do GitHub.com e do GitHub Enterprise Server. Se você quiser se conectar do Azure DevOps Services, confira Conectar o Azure Boards ao GitHub.
Ao conectar seu projeto do Azure DevOps Server com seus repositórios do GitHub Enterprise Server, você dá suporte à vinculação entre confirmações do GitHub e solicitações de pull para itens de trabalho. Você pode usar o GitHub para desenvolvimento de software enquanto usa o Azure Boards para planejar e acompanhar seu trabalho.
Observação
O Azure DevOps Server 2019 local dá suporte à integração com repositórios do GitHub Enterprise Server. Se você quiser se conectar do Azure DevOps Services, confira Conectar o Azure Boards ao GitHub.
Pré-requisitos
Categoria | Requisitos |
---|---|
Permissões | – Membro do grupo Administradores de Coleção de Projetos e do grupo Colaboradores do projeto. Se você criou o projeto, terá as permissões. - Administrador do GitHub Enterprise Server ao qual você se conecta. |
Associação ao projeto | Membro do projeto. |
Integração do com o GitHub | - Patch 2 do Azure DevOps Server 2020.1.1. Sem esse patch, você só pode se conectar aos repositórios do GitHub Enterprise Server. - Aplicativo Azure Boards para GitHub instalado na conta ou nas organizações do GitHub. |
Opções de autenticação
As seguintes opções de autenticação têm suporte.
Observação
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 Azure DevOps Server com o GitHub Enterprise Server, primeiro precisa registrar o aplicativo como um aplicativo OAuth. Para obter mais informações, consulte Criar um Aplicativo OAuth.
Registrar o Azure DevOps Server
Entre no portal da Web do seu GitHub Enterprise Server.
Selecione Configurações>Configurações do desenvolvedor>Aplicativos OAuth>Novo aplicativo OAuth.
Insira suas informações para registrar seu aplicativo Azure DevOps Server.
Para a URL da Página Inicial, especifique a URL pública da coleção de projetos. Você pode encontrar essa URL ao abrir o Console de Administração do Azure DevOps e exibindo o nó 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 a configuração do OAuth no Azure DevOps Server
Entre no portal da Web para seu Azure DevOps Server.
Adicione a configuração do OAuth do GitHub Enterprise à sua coleção do Azure DevOps Server.
Selecione Configurações do administrador>Configurações do Oauth>Adicionar configuração do Oauth.
Insira as informações, 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.
Observação
A conexão com mais de 100 repositórios do GitHub requer o Azure DevOps Server atualização 2020.1 ou versão posterior.
A conexão com repositórios do GitHub.com requer o Azure DevOps Server 2020.1.1 Patch 2 ou versão posterior.
Você pode conectar até 100 repositórios GitHub a um projeto do Azure Boards. Esse limite não pode ser alterado.
Abra o portal da Web para seu Azure DevOps Server.
Selecione o logotipo
do Azure DevOps para abrir Projetos e escolha o projeto do Azure Boards que deseja configurar para conectar aos seus repositórios do GitHub Enterprise.
Selecione Configurações do projeto>Conexões do GitHub.
Se for a primeira vez que você faz uma conexão com o projeto, escolha o método de autenticação que deseja usar para fazer a conexão:
- Token de Acesso Pessoal, para obter detalhes, confira Conectar usando um token de acesso pessoal.
- credenciais do GitHub, consulte Conectar usando as credenciais do GitHub.
Caso contrário, selecione
Nova conexão e selecione o método de autenticação na caixa de diálogo Nova Conexão.
Selecione Configurações do projeto>Conexões do GitHub>Conectar sua conta do GitHub Enterprise ou escolha entre as outras opções de autenticação, o que não recomendamos.
Conectar-se ao OAuth
Escolha a configuração que definiu na Etapa 4 de Registrar sua configuração do OAuth no Azure DevOps Server. Em seguida, selecione Conectar.
Conectar-se por meio de um Token de Acesso Pessoal
Para criar um PAT, confira Criar um token de acesso pessoal.
Dica
Ao criar seu PAT do GitHub, inclua 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 depois, selecione Conectar.
Conectar-se com as credenciais do GitHub
- Insira a URL do servidor GitHub Enterprise e as credenciais de conta de administrador reconhecidas por esse servidor. 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 outras pessoas aparecem e, em seguida, marcar as que deseja adicionar. Selecione Salvar quando terminar.
Para se conectar a uma conta ou organização do GitHub a partir do Azure Boards pela primeira vez, você também instalará o aplicativo Azure Boards para GitHub. Conclua a integração seguindo os procedimentos descritos em Confirmar a conexão.
Resolver problemas de conexão
A integração do 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 revogação dos repositórios do GitHub conectados ao Azure Boards.
Para obter uma visão geral da integração compatível com o aplicativo Azure Boards para GitHub, confira Integração do Azure Boards-GitHub.
Opções de autenticação com suporte
As opções de autenticação a seguir têm suporte com base na plataforma GitHub à qual você deseja se conectar.
Plataforma
GitHub.com
GitHub Enterprise Server
Azure DevOps Services
- GitHub.com conta de usuário
- PAT (token de acesso pessoal)
- OAuth
- PAT
- Credenciais do GitHub
Azure DevOps Server 2020
Não aplicável
- PAT
- Credenciais do GitHub
Azure DevOps Server 2019
Não aplicável
- OAuth
- PAT
- Credenciais do GitHub
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.
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. Passar o mouse sobre o alerta e 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 red-X 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 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 foi revogada ou os escopos de permissão necessários podem ter sido alterados e são insuficientes.
O usuário talvez tenha perdido permissões administrativas 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 o uso de PATs.
Atualizar definições XML para selecionar tipos de item de trabalho
Se sua organização personaliza o acompanhamento de trabalho usando o modelo de processo XML hospedado ou XML local e deseja integrar tipos de link do GitHub à seção Desenvolvimento de 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ário e bugs a confirmações e solicitações de pull do GitHub na 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 de XML, execute as etapas descritas em Modelo de processo XML hospedado. Para cada tipo de item de trabalho:
- Localize a seção
Group Label="Development"
. - Para dar suporte aos 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 de atividades do GitHub diretamente de seus itens de trabalho no Azure Boards.
<ExternalLinkFilter Type="GitHub Pull Request" />
<ExternalLinkFilter Type="GitHub Commit" />
Após a atualização, a seção deve aparecer conforme mostrado.
<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>