Solución de problemas de una integración Boards-GitHub Azure

Azure Boards | Azure DevOps Server 2020 | Azure DevOps Server 2019

La integración Boards-GitHub azure se basa en varios protocolos de autenticación para admitir la conexión. Los cambios en el ámbito de permiso 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 Azure Boards aplicación para GitHub, consulte Integración de Azure Boards-GitHub .

Opciones de autenticación admitidas

Las siguientes opciones de autenticación se admiten en función GitHub plataforma a la que quiera conectarse.

Plataforma

GitHub.com

Servidor de GitHub Enterprise

Azure DevOps Services

  • GitHub.com de usuario
  • Token de acceso personal (PAT)
  • OAuth
  • PAT
  • Nombre de usuario y contraseña

Azure DevOps Server 2020

No es aplicable

  • PAT
  • Nombre de usuario y contraseña

Azure DevOps Server 2019

No es aplicable

  • OAuth
  • PAT
  • Nombre de usuario y contraseña

Nota

Con la aplicación Azure Boards para GitHub, Azure Boards y Azure DevOps Services admiten la integración con repositorios de GitHub.com y GitHub Enterprise Server. No se admite la integración con otros repositorios de Git.

Nota

Con la aplicación Azure Boards para GitHub, en Azure DevOps Servers 2019 y versiones posteriores se admite la integración con repositorios de GitHub Enterprise Server. No se admite la integración con otros repositorios de Git.

Solución de problemas de conexión

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

Captura de pantalla de la conexión con errores.

Cuando la conexión Azure Boards a GitHub ya no tiene acceso, muestra un estado de alerta en la interfaz de usuario con una X roja con información sobre herramientas como, por ejemplo, No se puede conectar a GitHub.

Para resolver el problema, tenga en cuenta los siguientes elementos:

  • Si la conexión usa OAuth:

    • A Azure Boards aplicación se le denegó el acceso a uno de los repositorios.

    • GitHub es posible que no esté disponible o no sea accesible. Esta falta de disponibilidad podría deberse a una interrupción del servicio o a un problema de infraestructura o red local. Puede comprobar el estado del servicio en los vínculos siguientes:

      Para resolver el primer problema, elimine y vuelva a crear la conexión con GitHub repositorio. Esta conexión recreada hará que los GitHub soliciten que se vuelvan a autorizar Azure Boards.

  • Si la conexión usa un PAT:

    • Es posible que se haya revocado el PAT o que los ámbitos de permiso necesarios hayan cambiado y no sean suficientes.

    • Es posible que el usuario haya perdido permisos de administrador en GitHub repositorio.

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

Resolución de la conexión GitHub Enterprise Server rota

Si ha migrado de Azure DevOps Server a Azure DevOps Services con una conexión existente de GitHub Enterprise Server, la conexión existente no funcionará según lo previsto. Las menciones de elementos de GitHub pueden retrasarse o no aparecer nunca en Azure DevOps Services. Este problema se produce porque la dirección URL de devolución de llamada asociada GitHub ya no es válida.

Para resolver el problema, tenga en cuenta las siguientes soluciones:

  • Quitar y volver a crear la conexión:quite y vuelva a crear la conexión al repositorio GitHub Enterprise Server. Siga la secuencia de pasos que se proporcionan en Conectar de Azure Boards documentación.

  • Corrección de la dirección URL del webhook:vaya a la página de configuración del repositorio de GitHub y edite la dirección URL del webhook para que apunte a la dirección URL de la organización Azure DevOps Services migración:

Conexión a varias Azure DevOps organizaciones

Si conecta el repositorio de GitHub a dos o más proyectos definidos en más de una organización de Azure DevOps, como dev.azure.com/Contoso y dev.azure.com/Fabrikam, puede obtener resultados inesperados al usar menciones de AB# para vincular a elementos de trabajo. Este problema se produce porque los identificadores de elementos de trabajo no son únicos entre las organizaciones de Azure DevOps, por lo que AB#12 puede hacer referencia a un elemento de trabajo en la organización Contoso o Fabrikam. Por lo tanto, cuando se menciona un elemento de trabajo en un mensaje de confirmación o una solicitud de extracción, ambas organizaciones intentan crear un vínculo a un elemento de trabajo con un identificador de coincidencia (si existe).

En general, un usuario pretende que una mención AB# se vincule a un único elemento de trabajo en uno de los proyectos. Sin embargo, si existe un elemento de trabajo con el mismo identificador en ambas cuentas, se crean vínculos para ambos elementos de trabajo, lo que probablemente causa confusión.

Actualmente, no hay ninguna manera de evitar este problema, por lo que se recomienda conectar un único repositorio de GitHub solo a una Azure DevOps organización.

Nota

Al establecer la conexión mediante la aplicación Azure Boards para GitHub, la aplicación evita que se conecte a dos organizaciones diferentes. Si un repositorio de GitHub está conectado incorrectamente Azure DevOps la organización Azure DevOps incorrecta, deberá ponerse en contacto con el propietario de esa organización para quitar la conexión antes de poder agregar el repositorio a la organización Azure DevOps correcta.

Actualización de definiciones XML para tipos de elementos de trabajo seleccionados

Si su organización usa el modelo de proceso XML hospedado o XML local para personalizar la experiencia de seguimiento de trabajo y desea vincular y ver los tipos de vínculo de GitHub de la sección Desarrollo en los formularios de elementos de trabajo, deberá actualizar las definiciones XML de los tipos de elemento de trabajo.

Por ejemplo, si desea vincular casos de usuario y errores GitHub confirmaciones y solicitudes de extracción de la sección Desarrollo, debe actualizar las definiciones XML de los casos y errores de usuario.

Siga la secuencia de tareas proporcionada en modelo de proceso XML hospedado para actualizar las definiciones XML. Para cada tipo de elemento de trabajo, busque la sección y agregue las dos líneas siguientes en la sintaxis de código siguiente para admitir los tipos de vínculos externos: GitHub Group Label="Development"Group Label="Development" y GitHub Pull Request.

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

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

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