Conexión de Azure DevOps Server a GitHub (en el entorno local)
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Al conectar el proyecto de Azure DevOps Server con los repositorios de GitHub, se ayuda a vincular las confirmaciones y las solicitudes de incorporación de cambios de GitHub con los elementos de trabajo. Puede usar GitHub para el desarrollo de software y Azure Boards para planificar el trabajo y realizar su seguimiento.
Nota:
Las instancias locales de Azure DevOps Server 2020 admiten la integración con repositorios de GitHub.com y GitHub Enterprise Server. Si desea conectarse desde Azure DevOps Services, consulte Conexión de Azure Boards a GitHub.
Al conectar el proyecto de Azure DevOps Server con los repositorios de GitHub Enterprise Server, se ayuda a vincular las confirmaciones y las solicitudes de incorporación de cambios de GitHub con los elementos de trabajo. Puede usar GitHub Enterprise para el desarrollo de software y Azure Boards para planear el trabajo y realizar su seguimiento.
Nota:
Las instancias locales de Azure DevOps Server 2019 admiten la integración con repositorios de GitHub Enterprise Server. Si desea conectarse desde Azure DevOps Services, consulte Conexión de Azure Boards a GitHub.
Requisitos previos
- Para conectarse a repositorios de GitHub.com, instale Azure DevOps Server 2020.1.1, revisión 2. Sin esta revisión, solo podrá conectarse a los repositorios de GitHub Enterprise Server.
- Instalar la aplicación Azure Boards para GitHub en las organizaciones o la cuenta de GitHub.
- Conectarse a un proyecto de Azure Boards o Azure DevOps. Si todavía no tiene un proyecto, cree uno.
- Debe ser miembro del grupo Administradores de colecciones de proyectos y del grupo Colaboradores del proyecto. Si ha creado el proyecto, tiene permisos.
- Debe ser administrador del servidor de GitHub Enterprise al que se conecta.
Opciones de autenticación
Entre las opciones de autenticación disponibles se admiten las siguientes.
Nota:
OAuth ya no se admite en Azure DevOps Server 2020.
Registro de Azure DevOps en GitHub como una aplicación de OAuth
Si tiene previsto usar OAuth para conectar Azure DevOps Server con GitHub Enterprise Server, primero debe registrar la aplicación como una aplicación de OAuth. Para más información, consulte Creación de una aplicación de OAuth.
Registro de Azure DevOps Server
Inicie sesión en el portal web del servidor de GitHub Enterprise.
Seleccione Configuración>Configuración de desarrollador>Aplicaciones de Oauth>Nueva aplicación de OAuth.
Escriba la información para registrar la aplicación de Azure DevOps Server.
En Dirección URL de la página principal, especifique la dirección URL pública de la colección de proyectos. Puede encontrar esta dirección URL al abrir la consola de administración de Azure DevOps y vea el nodo Capa de aplicación.
En la dirección URL de devolución de llamada de autorización, use el siguiente patrón para construir la dirección URL.
{Azure DevOps Server Public Url}/{Collection Name}/_admin/oauth2/callback
Por ejemplo:
http://contoso/DefaultCollection/_admin/oauth2/callback
https://tfs.contoso.com/MyCollection/_admin/oauth2/callback
Seleccione Register application (Registrar aplicación).
Aparece una página que proporciona el id. de cliente y el secreto de cliente de la aplicación OAuth registrada.
Registro de la configuración de OAuth en Azure DevOps Server
Inicie sesión en el portal web de Azure DevOps Server.
Agregue la configuración de Oauth de GitHub Enterprise a la colección de Azure DevOps Server.
Seleccione Configuración de administrador>Configuraciones de OAuth>Agregar configuración de Oauth.
Introduzca la información y, a continuación, seleccione Crear.
Conexión de Azure DevOps Server a GitHub Enterprise Server
Puede conectar hasta 250 repositorios de GitHub a un proyecto de Azure Boards.
Nota:
La conexión a más de 100 repositorios de GitHub requiere Azure DevOps Server 2020.1 o una versión posterior.
La conexión a los repositorios de GitHub.com requiere Azure DevOps Server 2020.1.1, revisión 2 o una versión posterior.
Puede conectar hasta 100 repositorios de GitHub a un proyecto de Azure Boards. Este límite no se puede cambiar.
Abra el portal web de Azure DevOps Server.
Seleccione el logotipo de Azure DevOps para abrir Proyectos y, a continuación, elija el proyecto de Azure Boards que desea configurar para conectarse a los repositorios de GitHub Enterprise.
Seleccione Configuración del proyecto>Conexiones de GitHub.
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:
- Token de acceso personal, para más información, consulte Conexión mediante un token de acceso personal.
- Nombre de usuario y contraseña, consulte Conexión mediante un nombre de usuario y una contraseña.
De lo contrario, seleccione Nueva conexión y seleccione el método de autenticación en el cuadro de diálogo Nueva conexión.
Seleccione Configuración del proyecto>Conexiones de GitHub>Conexión de la cuenta de GitHub Enterprise.
O bien, elija un token de acceso personal o un nombre de usuario y una contraseña, si usa esas credenciales.
Conectar con OAuth
Elija la configuración que configuró en el paso 4 de Registro de la configuración de OAuth en Azure DevOps Server. A continuación, seleccione Conectar.
Conectarse con un token de acceso personal
Para crear un PAT, consulte Creación de un token de acceso personal.
Sugerencia
Al crear el PAT de GitHub, asegúrese de que incluye estos ámbitos:
repo, admin:repo_hook, read:user, user:email
.Escriba la dirección URL del servidor de GitHub Enterprise y las credenciales del token de acceso personal reconocidas por ese servidor. Y, a continuación, seleccione Conectar.
Conectar con nombre de usuario y contraseña
- Escriba la dirección URL del servidor de GitHub Enterprise y las credenciales de la cuenta de administrador reconocidas por ese servidor. A continuación, seleccione Conectar.
En el cuadro de diálogo se enumeran todos los repositorios para los que tiene derechos de administración de 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.
Para conectarse a una cuenta u organización de GitHub desde Azure Boards por primera vez, también debe instalar la aplicación 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 de Azure Boards y 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 información general sobre la integración que admite la aplicación Azure Boards para GitHub, consulte Integración de Azure Boards con GitHub.
Opciones de autenticación admitidas
Las siguientes opciones de autenticación se admiten en función de la plataforma de GitHub a la que desea conectarse.
Plataforma
GitHub.com
Servidor de GitHub Enterprise
Azure DevOps Services
- Cuenta de usuario de GitHub.com
- Un token de acceso personal (PAT)
- OAuth
- PAT
- Nombre de usuario más contraseña
Azure DevOps Server 2020
No aplicable
- PAT
- Nombre de usuario más contraseña
Azure DevOps Server 2019
No aplicable
- OAuth
- PAT
- Nombre de usuario más contraseña
Nota:
Con la aplicación Azure Boards para GitHub, Azure Boards y Azure DevOps Services se integran con repositorios de GitHub.com y GitHub Enterprise Server. Azure DevOps Server 2019 y versiones posteriores admiten la integración solo con repositorios de GitHub Enterprise Server. No se admite la integración con otros repositorios de Git.
Resolución de problemas de acceso
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.
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 que presenta una información sobre herramientas como, por ejemplo, No se puede conectar con GitHub.
Considere las siguientes soluciones:
Si la conexión usa OAuth:
La aplicación Azure Boards tenía denegado su acceso para uno de los repositorios.
GitHub podría no estar disponible o no accesible. 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 la conexión con el repositorio de GitHub y vuélvala a crear. Esta conexión recién creada hace que GitHub pida que vuelva a autorizar Azure Boards.
Si la conexión usa un PAT:
Es posible que el PAT se haya revocado o que los ámbitos de permisos necesarios hayan cambiado y no sean suficientes.
Es posible que el usuario haya perdido los permisos de administrador en el repositorio de GitHub.
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
.
Actualización de las definiciones XML para tipos de elementos de trabajo elegidos
Si su organización usa el modelo de proceso XML hospedado o XML en el entorno local para personalizar la experiencia de seguimiento del trabajo y desea vincular y ver los tipos de vínculo de GitHub en la sección Desarrollo de los formularios de elementos de trabajo, debe actualizar las definiciones XML de los tipos de elementos de trabajo.
Por ejemplo, si desea vincular casos de usuario y errores a confirmaciones de GitHub y solicitudes de incorporación de cambios en la sección Desarrollo, debe actualizar las definiciones XML de los casos de usuario y los errores.
Siga la secuencia de tareas proporcionadas en el modelo de proceso XML hospedado para actualizar las definiciones XML. Para cada tipo de elemento de trabajo, busque la sección Group Label="Development"
y agregue las dos líneas siguientes en la sintaxis del código siguiente para admitir los tipos de vínculos externos: Confirmación de GitHub y Solicitud de incorporación de cambios de GitHub.
<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>