GitLab dans ChatGPT et Codex est actuellement en version bêta.
Aperçu
Utilisez le modèle d’application GitLab Self-Managed pour créer un brouillon d’application propre à votre espace de travail pour une instance GitLab Self-Managed ou GitLab Dedicated. Fournissez le nom d’hôte GitLab et les identifiants de l’application OAuth, vérifiez le brouillon d’application, puis publiez-le pour les membres admissibles de l’espace de travail. Après la publication, les actions activées de l’application sont accessibles dans les conversations ChatGPT et les sessions Codex.
Pour un aperçu des fonctionnalités GitLab prises en charge, de la disponibilité, des autorisations, de l’utilisation des données et des exigences réseau, consultez : Connecter GitLab à ChatGPT et à Codex.
Ce que vous configurez
Vous créez une application propre à votre espace de travail à partir du modèle d’application GitLab Self-Managed. L’application utilise :
Une application OAuth GitLab enregistrée sur votre hôte GitLab Self-Managed ou GitLab Dedicated.
L’ID de l’application et le Secret OAuth GitLab pour l’autorisation de l’utilisateur.
Les portées OAuth requises : api, write_repository et openid.
Votre nom d’hôte GitLab, par exemple gitlab.example.com, pour déterminer les points de terminaison Web, d’API, d’autorisation et de jeton.
Avant de commencer
Vous avez besoin des éléments suivants :
Un accès administrateur ou propriétaire à l’espace de travail ChatGPT.
L’autorisation GitLab de créer l’application OAuth : un accès Propriétaire du groupe pour une application appartenant à un groupe, ou un accès administrateur de l’instance pour une application à l’échelle de l’instance.
Le nom d’hôte GitLab uniquement, sans https://, port ni chemin. Utilisez un hôte GitLab Self-Managed ou GitLab Dedicated, et non gitlab.com.
Une décision sur les actions GitLab que ChatGPT et Codex devraient prendre en charge, comme la recherche dans les dépôts, les flux de travail liés aux demandes de fusion ou aux tickets, les modifications de fichiers ou des flux de travail Codex plus étendus.
Gardez ChatGPT et GitLab ouverts dans des onglets distincts. Copiez l’URI de redirection exact affiché dans ChatGPT; ne le créez pas et ne le modifiez pas.
Pour ouvrir la page Applications à partir de la console d’administration, sélectionnez l’espace de travail ChatGPT voulu, ouvrez Plugiciels, puis sélectionnez Gérer les anciennes applications.
Valeurs à préparer
Nom d’hôte GitLab : par exemple, gitlab.example.com.
URI de redirection : copiez-le depuis le processus de configuration du modèle dans ChatGPT.
ID de l’application OAuth GitLab.
Secret OAuth GitLab.
Portées OAuth : copiez-les depuis le processus de configuration du modèle dans ChatGPT.
Start the template setup in ChatGPT
In ChatGPT, switch to the workspace where the app should be available.
Go to Workspace settings > Apps.
In Directory, find GitLab, open its GitLab Self-Managed app template, and select Enable.
Enter a clear app name and description.
Enter the GitLab hostname, such as gitlab.example.com.
Copy the Redirect URI shown in ChatGPT, and keep this tab open.
Example: https://chatgpt.com/connector/oauth/<redirect_id>. Do not remove the redirect ID, add a trailing slash, or replace the URI with a generic ChatGPT URL.
Créer l’application OAuth GitLab dans GitLab
Choisir où créer l’application
Ouvrez votre hôte GitLab, par exemple https://gitlab.example.com.
Choisissez de créer une application à l’échelle de l’instance ou une application appartenant à un groupe. Ce choix détermine qui gère l’application; l’accès aux projets reste régi par les autorisations GitLab de l’utilisateur qui accorde l’autorisation et par les portées OAuth accordées.
Pour une application à l’échelle de l’instance, accédez à Administration > Applications. Pour une application appartenant à un groupe, accédez à Paramètres > Applications dans le groupe.
Ajouter les détails de l’application
Sélectionnez Nouvelle application ou Ajouter une nouvelle application.
Entrez un nom d’application clair, comme GitLab Self-Managed ou GitLab Dedicated.
Dans URI de redirection, collez l’URI exact copié depuis ChatGPT.
Gardez l’option Confidentielle activée pour cette application OAuth côté serveur.
Configurer l’accès et enregistrer
Pour une application à l’échelle de l’instance, GitLab recommande de sélectionner De confiance. Cela permet d’ignorer la demande d’autorisation de l’utilisateur.
Sélectionnez les portées api, write_repository et openid.
Vérifiez qui peut gérer l’application et confirmez que les utilisateurs GitLab qui accordent l’autorisation disposent des autorisations de groupe et de projet appropriées.
Enregistrez l’application.
Exigences relatives aux portées OAuth
Le modèle demande les portées OAuth suivantes pour les actions GitLab activées dans ChatGPT et Codex :
api : requise pour les opérations de l’API GitLab offertes par l’application, y compris les actions liées aux demandes de fusion, aux tickets et à la CI/CD.
write_repository : requise pour les opérations d’écriture dans les dépôts via Git.
openid : requise pour les renseignements d’identité et d’appartenance OpenID Connect.
Copier les identifiants OAuth GitLab
Dans l’application GitLab enregistrée, copiez l’ID de l’application et le Secret. Traitez le Secret comme un identifiant d’accès. S’il est divulgué, renouvelez-le dans GitLab et créez une nouvelle application pour l’espace de travail.
Terminer la configuration dans ChatGPT
Revenez à l’onglet de configuration du modèle dans ChatGPT.
Collez l’ID de l’application GitLab dans ID client OAuth.
Collez le Secret GitLab dans Secret client OAuth.
Vérifiez que le nom d’hôte GitLab contient uniquement le nom d’hôte, par exemple gitlab.example.com.
Sélectionnez Créer un brouillon.
Ouvrez les détails du brouillon d’application et vérifiez les sections Accès par rôle et Configurer les actions.
Publier et gérer l’application pour ChatGPT et Codex
La création du brouillon d’application ne le rend pas automatiquement accessible aux membres. Après avoir vérifié le brouillon :
Sélectionnez Publier pour le brouillon d’application.
Accédez à la console d’administration, sélectionnez l’espace de travail ChatGPT voulu et ouvrez Plugiciels, puis vérifiez que GitLab est accessible aux rôles voulus.
Vérifiez la section Accès par rôle pour les rôles qui devraient utiliser l’application.
Dans Configurer les actions, vérifiez les actions de lecture et d’écriture disponibles.
Dans Configurer les approbations, choisissez quand les utilisateurs doivent approuver une action avant que ChatGPT ou Codex utilise l’application.
Demandez à un utilisateur de test disposant de l’accès d’ouvrir GitLab à partir du Répertoire des plugiciels ou de Paramètres > Plugiciels. Vérifiez que l’utilisateur peut installer le plugiciel et se connecter à l’application créée à partir du modèle GitLab Self-Managed.
Ces paramètres d’approbation de l’application s’appliquent aux conversations ChatGPT et aux fils Codex.
Configurer l’activité GitLab pour la revue de code Codex
Après la publication de l’application, configurez l’activité GitLab dans Codex si vous prévoyez utiliser la revue de code Codex. Cette configuration de l’activité définit les événements webhook requis.
Ouvrez les paramètres des connecteurs Codex.
Configurez un compte de service pour l’espace de travail. Laissez Codex créer le compte ou fournissez un jeton d’accès personnel pour un compte de service existant.
Activez Activité GitLab pour le projet ou l’un de ses groupes parents.
Si Codex doit exécuter des tâches de programmation ou utiliser une configuration propre au projet, créez un environnement de projet.
L’application GitLab utilise l’autorisation OAuth de l’utilisateur pour les lectures et les actions activées dans ChatGPT et Codex. Pour les écritures liées aux revues Codex sur GitLab Self-Managed ou GitLab Dedicated, le jeton du compte de service géré par l’espace de travail détermine l’identité utilisée et les projets où Codex peut commenter ou réagir.
En savoir plus : Réviser les demandes de fusion GitLab avec Codex.
Connecter et tester l’application GitLab
En tant qu’utilisateur disposant de l’accès, ouvrez GitLab à partir du Répertoire des plugiciels ou de Paramètres > Plugiciels. Sélectionnez Installer le plugiciel, puis Connecter.
Si votre espace de travail compte plusieurs applications GitLab, choisissez celle correspondant à cet hôte GitLab Self-Managed ou GitLab Dedicated.
Autorisez l’application OAuth GitLab lorsque vous y êtes invité.
Exécutez d’abord une petite action de lecture dans ChatGPT ou Codex, comme lister les projets accessibles ou récupérer une demande de fusion connue.
Si les actions d’écriture sont activées, testez-les dans un projet à faible risque et dans chaque produit où vous prévoyez les utiliser avant un déploiement plus large.
Nom d’hôte et fonctionnement OAuth
L’application utilise le nom d’hôte pour déterminer les points de terminaison GitLab. Entrez uniquement le nom d’hôte, par exemple gitlab.example.com. N’incluez pas https://, de chemin d’API ou de dépôt, de port ni gitlab.com. Ce modèle est destiné à GitLab Self-Managed ou à GitLab Dedicated. Pour GitLab.com (SaaS), utilisez l’application GitLab.
Dépannage de la configuration de l’application GitLab Self-Managed
Non-correspondance de l’URI de redirection : Vérifiez que l’URI de redirection de l’application OAuth GitLab correspond exactement à l’URI de redirection affiché dans ChatGPT.
ChatGPT ne peut pas créer ou enregistrer le brouillon d’application : Vérifiez que le nom d’hôte, l’ID de l’application, le secret et l’URI de redirection sont présents.
L’authentification réussit, mais les appels au projet échouent : Vérifiez que l’utilisateur GitLab qui accorde l’autorisation peut accéder au projet et que l’application OAuth dispose des portées du modèle.
L’API renvoie une erreur 403 ou des autorisations insuffisantes : Vérifiez que le compte GitLab connecté dispose des autorisations de projet ou de groupe requises et que l’application OAuth inclut les portées requises par le modèle.
Aucun projet n’est accessible : Vérifiez que l’utilisateur a accès aux projets, qu’il est connecté à l’instance GitLab voulue et qu’il a sélectionné la bonne application GitLab dans ChatGPT ou Codex.
