Kiro Web s'intègre avec GitLab afin que vous puissiez ajouter un projet GitLab à une session, faire modifier le code par l'agent, et ouvrir une merge request en votre nom. Cette page explique comment vous connecter, ce à quoi l'agent peut accéder, et comment portée ses permissions.
Kiro Web se connecte à GitLab à l'aide d'un jeton d'accès personnel (PAT) :
- Dans GitLab, sélectionnez votre avatar et choisissez Preferences, puis allez dans Access > Personal access tokens et sélectionnez Generate token
- Choisissez un format de jeton et créez le jeton :
- Jeton à granularité fine (recommandé) : accordez les permissions listées dans Permissions
- Jeton hérité : sélectionnez la portée api pour un accès complet, ou consultez Permissions pour restreindre la portée du jeton
- Dans Kiro, allez dans Settings et sélectionnez l'onglet Agent
- Sous GitLab, cliquez sur Connect GitLab
- Collez votre jeton d'accès personnel et sélectionnez l'instance GitLab (gitlab.com est renseigné par défaut)
Une fois connecté, vos projets GitLab sont disponibles à la sélection lorsque vous créez une session ou ajoutez un dépôt en cours de session.
Clone des projets
L'agent clone vos projets GitLab autorisés dans son environnement sandbox isolé, où il lit le code et effectue des modifications.
Crée des branches et des commits
Pour chaque tâche, l'agent crée une branche de fonctionnalité, effectue des commits avec des messages clairs, et pousse vers votre projet. L'agent agit en votre nom et vous inclut, vous et lui-même, comme coauteurs dans chaque commit.
Ouvre des merge requests
Après avoir terminé le travail, l'agent ouvre une merge request avec une description des modifications, l'approche d'implémentation, et les compromis considérés.
- Travailler sur le code — cloner un projet, effectuer des modifications, pousser une branche, et ouvrir une merge request pour vos modifications.
- Inspecter les merge requests — lister les merge requests ouvertes ou fusionnées, afficher les détails et les diffs d'une merge request, trouver la branche sur laquelle se trouve une merge request, et lire ses discussions et notes.
- Examiner les issues — lister les issues ouvertes, afficher les détails d'une issue, et lire les commentaires sur une issue.
Vous pouvez ajouter des dépôts GitLab et GitHub à la même session. L'agent travaille sur tous les dépôts sélectionnés à la fois — lisant le code, effectuant des modifications, et ouvrant une merge request sur GitLab et une pull request sur GitHub selon le fournisseur approprié. Cela permet à l'agent de coordonner des modifications qui s'étendent sur des projets hébergés chez différents fournisseurs.
L'accès de l'agent à GitLab est déterminé par ce que vous accordez à votre jeton d'accès personnel. GitLab propose deux types de jetons.
Les jetons à granularité fine utilisent des permissions granulaires au lieu de portées, limitant le jeton à des ressources et des dépôts spécifiques. Lorsque vous créez un jeton à granularité fine, GitLab affiche les permissions dans deux sections. Sous Group and project access, vous sélectionnez les groupes ou projets auxquels le jeton peut accéder et ce qu'il peut faire. Sous User, vous accordez des permissions au niveau du compte.
Accordez les permissions suivantes :
| Section | Permissions requises |
|---|---|
| Group and project | Code (Download, Push) · Merge Request (Read, Create) · Work Item (Read) |
| User | Project (Read) · User (Read) |
Lors de la création du jeton, réglez le group and project access pour inclure les dépôts avec lesquels vous voulez que Kiro travaille.
Work Item (Read) couvre la lecture des issues et des commentaires de merge request.
Le sélecteur de projets liste tous les projets dont vous êtes membre, mais l'agent ne peut cloner et pousser que vers les dépôts inclus dans le group and project access du jeton. Un projet peut apparaître dans le sélecteur et échouer quand même au clonage s'il est en dehors de la sélection du jeton. Si cela se produit, modifiez le group and project access du jeton dans GitLab pour y inclure le projet.
- api — accès complet. Prend en charge toutes les capacités GitLab de Kiro.
- read_api — accès en lecture seulement. L'agent peut inspecter les projets, les merge requests et les issues, mais ne peut pas pousser de branches ni ouvrir de merge requests.
- write_repository — accès au code sans les issues. L'agent peut pousser des branches et ouvrir des merge requests, mais ne peut pas accéder aux issues.
- L'agent ne peut accéder qu'aux projets auxquels votre utilisateur GitLab a accès.
- Vous pouvez révoquer l'accès à tout moment en supprimant le jeton d'accès personnel dans GitLab, ou en déconnectant GitLab depuis l'onglet Agent dans Settings.
Les jetons d'accès personnels GitLab peuvent avoir une date d'expiration. Lorsque votre jeton expire, Kiro Web perd l'accès à vos projets GitLab. Vous verrez une erreur de connexion en essayant d'utiliser GitLab dans une session.
Pour restaurer l'accès, générez un nouveau jeton dans GitLab avec les mêmes permissions et mettez-le à jour dans Settings > Agent.
Instances hébergées publiquement
Si votre instance GitLab est accessible depuis Internet public et utilise une liste blanche d'adresses IP ou des règles de pare-feu, vous devez autoriser le trafic entrant provenant des adresses IP sources Kiro Web suivantes.
US East (N. Virginia) (us-east-1) :
34.228.181.128 44.219.176.187 54.226.244.221
Instances hébergées de façon privée
Kiro Web ne prend pas encore en charge les instances GitLab qui ne sont accessibles que depuis l'intérieur d'un VPC AWS.
GitLab