Las apps en GitHub te permiten automatizar y mejorar tu flujo de trabajo. Puedes compilar aplicaciones para mejorar tu flujo de trabajo.
Las GitHub Apps son la forma oficial y recomendada de integrarse con GitHub, ya que ofrecen permisos mucho más granulares para acceder a los datos, Pero GitHub es compatible tanto con las OAuth Apps y con las GitHub Apps. Para obtener información sobre cómo elegir un tipo de aplicación, consulta "Diferencias entre las aplicaciones de GitHub y las aplicaciones de OAuth".
Para obtener una guía detallada del proceso de creación de una GitHub App, consulta la sección "Crear tu primera GitHub App".
Acerca de las GitHub Apps
Las GitHub Apps son actores de primera clase dentro de GitHub. Una GitHub App actúa por si misma, tomando las acciones a través de la API y utilizando directamente su propia identidad, lo que significa que no necesitas mantener un bot o cuenta de servicio como un usuario separado.
Las GitHub Apps se pueden instalar directamente en las cuentas de organización y personales, y se les puede dar acceso a repositorios específicos. Vienen con webhooks integrados y con permisos específicos y delimitados. Cuando configuras tu GitHub App, puedes seleccionar los repositorios a los cuales quieres acceder. Por ejemplo, puedes configurar una aplicación denominada MyGitHub
que escriba incidencias en el repositorio octocat
y solo en el repositorio octocat
. Para instalar una GitHub App, necesitas ser propietario de la organización o tener permisos administrativos en el repositorio.
Predeterminadamente, solo los propietarios de la organización pueden administrar los ajustes de las GitHub Apps en una organización. Para agregar usuarios adicionales para que administren las GitHub Apps en una organización, un propietario puede otorgarles permisos de administrador sobe ellas. Vea "Administradores de aplicaciones de GitHub" para obtener información sobre cómo agregar y quitar administradores de aplicaciones de GitHub de la organización.
Las GitHub Apps son aplicaciones que necesitan hospedarse en algún lugar. Para obtener instrucciones paso a paso que cubran los temas de servidores y hospedaje, consulta la sección "Crear tu primera GitHub App".
Para mejorar tu flujo de trabajo, puedes crear una GitHub App que contenga varios scripts, o bien, una aplicación completa, y después conectarla a muchas otras herramientas. Por ejemplo, puedes conectar las GitHub Apps a GitHub, Slack, a otras apps locales que tuvieras, programas de correo electrónico, o incluso a otras API.
Toma estas ideas en consideración cuando crees GitHub Apps:
-
Una GitHub App debe realizar acciones independientemente de un usuario (a menos que la aplicación use un token de usuario a servidor ). Para mantener más seguros los tokens de acceso de usuario a servidor, puedes utilizar tokens de acceso que caducarán después de 8 horas, y un token de actualización que se puede intercambiar por un token de acceso nuevo. Para obtener más información, consulte "Actualizar los tokens de acceso de usuario a servidor".
-
Asegúrate de que la GitHub App se integre con repositorios específicos.
-
La GitHub App deberá conectarse a una cuenta personal o a una organización.
-
No esperes que la GitHub App sepa y haga todo lo que puede hacer un usuario.
-
No utilices a la GitHub App si solo necesitas el servicio de "Iniciar sesión en GitHub". Pero una GitHub App puede usar un flujo de identificación de usuario para registrar usuarios y hacer otras cosas.
-
No crees una GitHub App si únicamente quieres actuar como usuario de GitHub y hacer todo lo que puede hacer un usuario.
Para empezar a desarrollar GitHub Apps, comienza con "Crear una GitHub App".
Acerca de las OAuth Apps
OAuth2 es un protocolo que permite a las aplicaciones externas el solicitar autorización para usar detalles privados en una cuenta de GitHub del usuario sin acceder a su contraseña. Estas son preferentes sobre la Autenticación Básica, ya que los tokens pueden limitarse a ciertos tipos de datos y los usuarios pueden revocarlos en cualquier momento.
Advertencia: Si revocas todos los permisos de una OAuth App, se eliminarán todas las claves generadas por la aplicación en nombre del usuario, incluidas las claves de implementación.
Una OAuth App utiliza a GitHub como proveedor de identidad para autenticarse como el usuario que otorga el acceso a la app. Esto significa que, cuando un usuario otorga acceso a una OAuth App, también otorga permisos a todos los repositorios a los cuales tiene acceso en su cuenta, y también a cualquier organización a la que pertenezca que no haya bloqueado el acceso de terceros.
Crear una OAuth App es una buena opción si estás creando procesos más complejos de lo que puede manejar un script sencillo. Nota que las OAuth Apps son aplicaciones que necesitan hospedarse en algún lugar.
Toma estas ideas en consideración cuando crees OAuth Apps:
- Una OAuth App siempre debe actuar como el usuario autenticado de GitHub a través de todo GitHub (por ejemplo, cuando proporciona notificaciones de usuario).
- Una OAuth App puede utilizarse como un proveedor de identidad si el usuario autenticado habilita la opción de "Ingresar con GitHub".
- No crees una OAuth App si quieres que tu aplicación actúe en un solo repositorio. Con el alcance de OAuth de
repo
, las OAuth Apps podrán actuar en todos los repositorios del usuario autenticado. - No crees una OAuth App para que actúe como una aplicación para tu equipo o compañía. Las OAuth Apps se autentican como un solo usuario, así que, si una persona crea una OAuth App para el uso de una compañía, y luego salen de dicha compañía, nadie más tendrá acceso a ella.
Para obtener más información sobre OAuth Apps, consulta "Crear una OAuth App" y "Registro de la aplicación".
Tokens de acceso personal
Un token de acceso personal es una cadena de caracteres que funciona de forma similar a un token de OAuth en el que puede especificar sus permisos a través de ámbitos. Un token de acceso personal también es similar a una contraseña, pero puedes tener varios de ellos y puedes revocar el acceso de cada uno en cualquier momento.
Com ejemplo, puedes habilitar un token de acceso personal para tener acceso de escritura en tus repositorios. Si después ejecutas un comando cURL o escribes un script que genere un informe de incidencias en tu repositorio, pasarías el token de acceso personal para autenticarte. Puedes almacenar el token de acceso personal como una variable de ambiente para evitar el tener que teclearlo cada vez que lo utilices.
Considera estas ideas cuando utilices tokens de acceso personal:
- Recuerda utilizar este token para que te represente únicamente a ti.
- Puedes realizar solicitudes cURL de una sola ocasión.
- Puedes ejecutar scripts personales.
- No configures un script para que lo utilice todo tu equipo o compañía.
- No configures una cuenta personal compartida para que actúe como un usuario bot.
Determinar qué integración debes crear
Antes de que comiences a crear integraciones, necesitas determinar la mejor forma de acceder, autenticar, e interactuar con las API de GitHub Enterprise Server. La siguiente imagen te proporciona algunas preguntas que deberías hacerte a ti mismo cuando decidas si vas a utilizar tokens de acceso personal, GitHub Apps o OAuth Apps para tu integración.
Considera estas preguntas acerca de cómo necesita comportarse tu integración y a qué necesita acceder:
- ¿Mi integración actuará únicamente como yo, o actuará más como una aplicación?
- ¿Quiero que actúe independientemente de mí como su propia entidad?
- ¿Accederá a todo lo que yo puedo acceder, o quiero limitar su acceso?
- ¿Es simple o compleja? Por ejemplo, los tokens de acceso personal sirven bien para scripts simples y cURLs, mientras que una OAuth App puede manejar scripts más complejos.
Solicitar soporte
For questions, bug reports, and discussions about GitHub Apps, OAuth Apps, and API development, explore the APIs and Integrations discussions on GitHub Community. The discussions are moderated and maintained by GitHub staff, but questions posted to the forum are not guaranteed to receive a reply from GitHub staff.
Consider reaching out to GitHub Support directly using the contact form for:
- guaranteed response from GitHub Enterprise Server staff
- support requests involving sensitive data or private concerns
- feature requests
- feedback about GitHub Enterprise Server products