Skip to main content

À propos de la création d’applications GitHub

GitHub Apps vous permet de créer des intégrations pour automatiser les processus et étendre GitHubles fonctionnalités.

À propos de GitHub Apps

Un GitHub App est un type d’intégration que vous pouvez créer pour interagir avec GitHub et en étendre les fonctionnalités. Vous pouvez créer une GitHub App solution pour gagner en flexibilité et réduire les points de friction dans vos processus, sans avoir à faire se connecter un utilisateur ni à créer un compte de service.

Les cas d’usage courants de GitHub Apps incluent :

  • Automatisation des tâches ou des processus en arrière-plan
  • Prise en charge de « Se connecter avec GitHub », qui permet aux utilisateurs de se connecter avec leur compte GitHub pour fournir leur identité au sein de votre écosystème
  • En tant qu’outil de développement, il permet aux utilisateurs de travailler avec GitHub en se connectant à votre GitHub App, qui peut ensuite agir en leur nom
  • Intégration de votre outil ou service externe à GitHub

Comme OAuth apps, GitHub Apps utilisez OAuth 2.0 et pouvez agir au nom d’un utilisateur. Contrairement OAuth appsà , GitHub Apps peut également agir indépendamment d’un utilisateur.

GitHub Apps peut être installé directement sur les organisations et les comptes personnels et accorder l’accès à des référentiels spécifiques. Elles sont fournies avec des webhooks intégrés et des autorisations spécifiques et limitées.

Par défaut, seuls les propriétaires d’organisation peuvent gérer les paramètres des applications GitHub dans une organisation. Pour permettre à d’autres utilisateurs de modifier les paramètres de développeur des applications GitHub appartenant à l’organisation, un propriétaire peut leur accorder des autorisations de gestionnaire d’applications GitHub. Les gestionnaires d’applications GitHub ne peuvent pas gérer les applications tierces. Pour plus d’informations sur l’ajout et la suppression de gestionnaires d’applications GitHub dans votre organisation, consultez Rôles dans une organisation.

Construire un GitHub App

Pour créer un GitHub App, vous devez d’abord inscrire un GitHub App. Pour plus d’informations, consultez « Inscription d’une application GitHub ».

Ensuite, vous devez écrire du code pour ajouter des fonctionnalités à votre GitHub App. Vous pouvez utiliser les informations d’identification de votre GitHub App inscription pour effectuer des demandes authentifiées auprès GitHubdes API. Pour plus d’informations sur l’écriture de code pour votre GitHub App, consultez À propos de l’écriture de code pour une application GitHub. Pour plus d’informations sur la création de requêtes authentifiées, consultez « À propos de l’authentification avec une application GitHub ».

Une fois que vous avez écrit le code de votre GitHub Appapplication, votre application doit s’exécuter quelque part. Si votre application est un site web ou une application web, vous pouvez héberger votre application sur un serveur comme Azure App Service. Si votre application est une application côté client, elle peut s’exécuter sur l’appareil d’un utilisateur.

Pour utiliser votre GitHub App, vous devez l’installer sur votre compte, organisation ou personnel.

  • Si votre GitHub App est privée, vous ne pouvez l’installer que sur le compte propriétaire de l’application.
  • Si votre compte GitHub App est public, d’autres comptes peuvent également l’installer. Seuls les membres de l’entreprise peuvent se connecter à celui-ci.

Pour plus d’informations, consultez « Installation de votre propre application GitHub » et « Partage de votre application GitHub ».

Comprendre quel type de GitHub App créer

Il existe plusieurs façons de concevoir un GitHub App élément que vous souhaitez prendre en compte, en fonction de la fonctionnalité que vous souhaitez que l’application dispose.

GitHub Apps qui agissent pour le compte d’un utilisateur

Si vous souhaitez que votre application effectue des actions au nom d’un utilisateur, vous devez utiliser un jeton d’accès utilisateur pour l’authentification. Ce type de demande est parfois appelé « utilisateur à serveur », ce qui signifie que l’application est limitée par les autorisations qui lui ont été accordées et par l’autorisation de l’utilisateur. Avec ce modèle, l’utilisateur doit autoriser l’application avant que celle-ci ne puisse effectuer des actions. Pour plus d’informations, consultez « Authentification auprès d’une application GitHub pour le compte d’un utilisateur ».

Voici quelques exemples d’automatisations que vous pouvez créer avec une GitHub Appapplication qui agit au nom d’un utilisateur :

  • Un GitHub App qui utilise GitHub comme fournisseur d’identité pour votre écosystème.
  • Un GitHub App qui ajoute un service par-dessus GitHub et qui pourrait être utile pour un utilisateur de GitHub. Vous pouvez partager l’application avec d’autres développeurs via GitHub Marketplace ou en rendant l’application publique.

GitHub Apps qui agissent de leur propre part

Si vous souhaitez que votre application effectue des actions en son nom, plutôt qu’au nom d’un utilisateur, vous devez utiliser un jeton d’accès d’installation pour l’authentification. Ce type de demande est parfois appelé « serveur à serveur », ce qui signifie que l’application est limitée par les autorisations qui lui ont été accordées. Pour plus d’informations, consultez « Installation de l’authentification en tant qu’application GitHub ».

Voici quelques exemples d’automatisations que vous pouvez créer avec un GitHub App, où l’application agit en son propre nom, notamment :

  • Un GitHub App qui utilise des webhooks pour réagir à un événement selon un certain ensemble de critères. Par exemple, vous pouvez créer une automatisation basée sur les points de terminaison de l’API REST pour examiner les demandes de fine-grained personal access token qui approuve une demande selon une certaine stratégie.
  • Un GitHub App qui aide les contributeurs du dépôt. Par exemple, l’application peut publier des ressources utiles une fois qu’un contributeur a créé une demande de tirage ou fait un commentaire.
  • Un GitHub App qui génère des jetons à courte durée de vie destinés à d’autres outils CI/CD, ou à récupérer des informations depuis un dépôt.

GitHub Apps qui réagissent aux webhooks

Si vous souhaitez que votre application réponde aux événements sur GitHub, votre application doit s’abonner aux webhooks. Par exemple, vous souhaitez peut-être que votre application laisse un commentaire lorsqu’un pull request est ouvert. Pour plus d’informations, consultez « Utilisation de webhooks avec GitHub Apps ».

GitHub Apps qui peut prendre certaines actions

Lorsque vous configurez votre GitHub Appapplication, vous pouvez sélectionner des autorisations spécifiques pour l’application. Ces autorisations déterminent ce que l’application peut faire via l’API GitHub, ce qu’elle peut faire au nom d’un utilisateur connecté et quels webhooks elle peut recevoir. Pour plus d’informations, consultez « Choix des autorisations pour une application GitHub ».