Ă propos de GitHub Apps
Une GitHub App est un type dâintĂ©gration que vous pouvez crĂ©er pour interagir avec les fonctionnalitĂ©s de GitHub et les Ă©tendre. Vous pouvez crĂ©er une GitHub App pour offrir de la flexibilitĂ© et rĂ©duire les frictions dans vos processus, sans avoir besoin de connecter un utilisateur ou de crĂ©er un compte de service.
Les cas dâusage courants pour les GitHub Apps sont les suivants :
- 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é dans votre écosystÚme
- Comme outil de dĂ©veloppement, permettre aux utilisateurs dâutiliser GitHub en se connectant Ă votre GitHub App, laquelle peut ensuite agir en leur nom
- Intégration de votre outil ou service externe à GitHub
Comme les OAuth apps, une GitHub Apps utilise OAuth 2.0 et peut agir pour le compte dâun utilisateur. Contrairement aux OAuth apps, les GitHub Apps peuvent aussi agir indĂ©pendamment dâun utilisateur.
GitHub Apps peut ĂȘtre installĂ© directement sur les entreprises, les organisations et les comptes personnels, et peut donner 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.
Vous pouvez Ă©galement crĂ©er une GitHub App appartenant Ă l'entreprise qui ne peut ĂȘtre installĂ©e que sur l'entreprise elle-mĂȘme ou les organisations au sein de votre entreprise, et qui ne peut ĂȘtre autorisĂ©e que par les membres de votre entreprise. Pour plus dâinformations, consultez « CrĂ©ation dâapplications GitHub pour votre entreprise ».
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.
Créer une GitHub App
Pour gĂ©nĂ©rer une GitHub App, vous devez dâabord inscrire une 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 inscription dâGitHub App pour effectuer des requĂȘtes authentifiĂ©es auprĂšs des API GitHub. 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 App, 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 entreprise, organisation ou compte personnel.
- Si votre GitHub App est privĂ©e, elle peut ĂȘtre installĂ©e uniquement sur le compte propriĂ©taire de lâapplication.
- Si votre GitHub App est public, d'autres comptes peuvent également l'installer.
- Si votre GitHub App appartient Ă une entreprise, vous pouvez l'installer sur l'entreprise elle-mĂȘme ou n'importe quelle organisation au sein de cette entreprise. Seuls les membres de l'entreprise peuvent s'y connecter.
Pour plus dâinformations, consultez « Installation de votre propre application GitHub » et « Partage de votre application GitHub ».
PrĂ©sentation du type dâGitHub App Ă crĂ©er
Il existe plusieurs façons de concevoir une GitHub App selon les fonctionnalitĂ©s que vous voulez que lâapplication ait.
GitHub Apps qui agissent au nom 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 App, oĂč lâapplication agit au nom dâun utilisateur :
- Une GitHub App qui utilise GitHub comme fournisseur dâidentitĂ© pour votre Ă©cosystĂšme.
- Une GitHub App qui ajoute un service en plus de GitHub qui peut ĂȘtre utile Ă un utilisateur GitHub. Vous pouvez partager lâapplication avec dâautres dĂ©veloppeurs via GitHub Marketplace ou en rendant lâapplication publique.
GitHub Apps qui agissent en leur nom
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 une GitHub App, oĂč lâapplication agit en son nom :
- Une GitHub App qui utilise des webhooks pour rĂ©agir Ă un Ă©vĂ©nement en fonction dâun certain ensemble de critĂšres. Par exemple, vous pouvez crĂ©er une automatisation autour des points de terminaison dâAPI REST pour examiner les demandes de fine-grained personal access token qui approuvent une demande en fonction dâune certaine stratĂ©gie.
- Une GitHub App qui aide les contributeurs de 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.
- Une GitHub App qui gĂ©nĂšre des jetons de courte durĂ©e Ă donner Ă dâautres outils CI/CD ou pour tirer (pull) les informations dâun dĂ©pĂŽt.
Des GitHub Apps qui répondent aux webhooks
Si vous souhaitez que votre application rĂ©ponde aux Ă©vĂ©nements sur GitHub, votre application doit sâabonner Ă des webhooks. Par exemple, vous voudrez peut-ĂȘtre que votre application laisse un commentaire lorsquâune demande de tirage est ouverte. Pour plus dâinformations, consultez « Utilisation de webhooks avec des applications GitHub ».
Les applications installĂ©es sur les entreprises ne prennent actuellement pas en charge les webhooks et doivent ĂȘtre installĂ©es sur une organisation pour les recevoir.
Des GitHub Apps pouvant effectuer certaines actions
Quand vous configurez votre GitHub App, vous pouvez sĂ©lectionner des autorisations spĂ©cifiques pour elle. 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 ».