Compartir a través de


Conexión de Azure DevOps Server a GitHub (local)

Azure DevOps Server | Azure DevOps Server 2022

Al conectar el proyecto de Azure DevOps Server a los repositorios de GitHub, se admite la vinculación entre confirmaciones GitHub y solicitudes de incorporación de cambios a elementos de trabajo. Puede usar GitHub para el desarrollo de software mientras usa Azure Boards para planear y realizar un seguimiento del trabajo.

Note

Azure DevOps Server admite la integración con repositorios de GitHub.com y GitHub Enterprise Server. Para conectarse desde Azure DevOps Services, consulte Connect Azure Boards a GitHub.

Prerequisites

Category Requirements
Permisos - Miembro del grupo Administradores de la colección de proyectos y del grupo de Colaboradores del proyecto. Si ha creado el proyecto, tiene permisos.
- Administrator del GitHub Enterprise Server al que se conecta.
Pertenencia a proyectos Miembro del proyecto.
Integración con GitHub - Azure DevOps Server 2020.1.1 Revisión 2. Sin esta revisión, solo puede conectarse a los repositorios de GitHub Enterprise Server.
- Aplicación Azure Boards para GitHub instalada en las cuentas u organizaciones de GitHub.

Opciones de autenticación

Se admiten las siguientes opciones de autenticación:

Note

OAuth no se admite para Azure DevOps Server 2020.

Conexión de Azure DevOps Server a GitHub Enterprise Server

Puede conectar hasta 250 repositorios GitHub a un proyecto de Azure Boards.

  1. Abra el portal web para la Azure DevOps Server.

  2. Seleccione el logotipo de Azure DevOps para abrir Projects y, a continuación, elija el proyecto de Azure Boards que desea configurar para conectarse a los repositorios de GitHub Enterprise.

  3. Seleccione Configuración del proyecto>GitHub conexiones.

    Captura de pantalla de la configuración del proyecto abierta, conexiones de GitHub.

  4. Si es la primera vez que realiza una conexión desde el proyecto, elija el método de autenticación que desea usar para realizar la conexión:

    Captura de pantalla de la primera vez que se conecta con credenciales de GitHub.

    De lo contrario, seleccione Nueva conexión y seleccione el método de autenticación en el cuadro de diálogo Nueva conexión.

Conexión de Azure DevOps Server con un token de acceso personal de GitHub

  1. Para crear un PAT de GitHub, consulte Crear un GitHub PAT.

    Tip

    Al crear su GitHub PAT, asegúrese de incluir estos alcances: repo, admin:repo_hook, read:user, user:email.

  2. Escriba la dirección URL del servidor GitHub Enterprise y las credenciales de Personal access token reconocidas por ese servidor. Y, a continuación, seleccione Conectar.

    Captura de pantalla del inicio de sesión con GitHub PAT.

Conexión de Azure DevOps Server con credenciales de GitHub

  1. Escriba la dirección URL del servidor GitHub Enterprise y las credenciales de la cuenta de administrador reconocidas por ese servidor. A continuación, seleccione Conectar.

    Captura de pantalla del inicio de sesión con credenciales de GitHub.

  2. En el cuadro de diálogo se enumeran todos los repositorios para los que tiene derechos de administración GitHub. Puede alternar entre Míos y Todos para determinar si aparecen otros y, a continuación, comprobar los que desea agregar. Seleccione Guardar cuando haya terminado.

    Captura de pantalla de los repositorios que se van a seleccionar para agregar.

  3. Para conectarse a una cuenta de GitHub u organización desde Azure Boards por primera vez, también instala la aplicación de Azure Boards para GitHub. Complete la integración siguiendo los procedimientos que se indican en Confirmación de la conexión.

Solución de problemas de conexión

La integración Azure Boards GitHub se basa en varios protocolos de autenticación para admitir la conexión. Los cambios en el ámbito de permisos o las credenciales de autenticación de un usuario pueden provocar la revocación de los repositorios de GitHub conectados a Azure Boards.

Para obtener información general sobre la integración que admite la aplicación Azure Boards para GitHub, consulte Azure Boards-GitHub integration.

Cuando la conexión de Azure Boards a GitHub ya no tiene acceso, muestra un estado de alerta en la interfaz de usuario con una X roja. Mantenga el puntero sobre la alerta e indicará que las credenciales ya no son válidas. Para corregir el problema, quite la conexión y vuelva a crear una nueva.

Captura de pantalla de conexión con error.

Considere las siguientes soluciones:

  • Si la conexión usa OAuth:

    • La aplicación Azure Boards tenía acceso denegado para uno de los repositorios.

    • GitHub podrían no estar disponibles o no accesibles. Esta falta de disponibilidad podría deberse a una interrupción en el servicio o un problema de infraestructura o red en el entorno local. Puede comprobar el estado del servicio en los vínculos siguientes:

      Elimine y vuelva a crear la conexión al repositorio de GitHub. Esta conexión recreada hace que GitHub pida que vuelva a autorizar Azure Boards.

  • Si la conexión usa un GitHub PAT:

    • El GitHub PAT se revocó o los ámbitos de permisos necesarios cambiaron y no son suficientes.

    • El usuario quizá perdió permisos administrativos en el repositorio de GitHub.

      Vuelva a crear el GitHub PAT y asegúrese de que el ámbito del token incluye los permisos necesarios: repo, read:user, user:email, admin:repo_hook.

Actualización de las definiciones XML para tipos de elementos de trabajo elegidos

Si su organización personaliza el seguimiento del trabajo mediante el modelo de proceso XML hospedado o proceso XML local y quiere integrar tipos de vínculo de GitHub en la sección Desarrollo de los formularios de los elementos de trabajo, necesita actualizar las definiciones XML para los tipos de elemento de trabajo correspondientes relevantes.

Por ejemplo, para vincular historias de usuario y errores con confirmaciones de GitHub y pull requests dentro de la sección Development de los formularios de elementos de trabajo, debe actualizar las definiciones XML de estos tipos de elementos de trabajo.

Para modificar las definiciones XML, realice los pasos que se describen en Modelo de proceso XML hospedado. Para cada tipo de elemento de trabajo:

  1. Localice la sección Group Label="Development".
  2. Para admitir los tipos de vínculo externo, GitHub Commit y GitHub Solicitud de incorporación de cambios, agregue las siguientes líneas de código:

Esta integración permite realizar un seguimiento sin problemas de las actividades de GitHub directamente desde los elementos de trabajo en Azure Boards.

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

Cuando se actualiza, la sección debe aparecer como se muestra a continuación.

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

Pasos siguientes