Tri des tickets et des PR
Le plugin Repo Manager automatise le tri sur votre dépôt. Il écoute les événements de PR et de tickets, puis effectue des vérifications de déduplication et applique automatiquement des étiquettes, afin que votre backlog reste dédupliqué et orienté sans tri manuel.
Fonctionnalités
- Tri des PR. Lorsqu'une pull request est ouverte ou réouverte, SourceAnt la compare à d'autres PR ouvertes à l'aide d'un LLM et publie un commentaire si des doublons potentiels sont détectés.
- Tri des tickets. Détection de déduplication identique pour les tickets, aidant les mainteneurs à repérer tôt les rapports en double.
- Étiquetage automatique. Analyse le titre, le corps et le diff des nouvelles PR/tickets, puis applique les étiquettes les plus pertinentes parmi l'ensemble des étiquettes existantes de votre dépôt.
How It Works
Lorsqu'un événement pull_request.opened, pull_request.reopened,
issues.opened, ou issues.reopened est reçu, le plugin :
- Récupère les autres PR ou tickets ouverts du dépôt.
- Les envoie au LLM configuré avec le nouvel élément pour comparaison.
- Publie un commentaire idempotent si des doublons sont détectés (met à jour le même commentaire lors des exécutions suivantes).
- Récupère les étiquettes du dépôt, demande au LLM d'en suggérer des appropriées, les valide et les applique.
Configuration
Le plugin est désactivé par défaut. Activez-le globalement via des variables d'environnement, ou par dépôt à l'aide du modèle Config.
Variables d'environnement
| Variable | Valeur par défaut | Description |
|---|---|---|
REPO_MANAGER_ENABLED | false | Interrupteur principal : activer globalement le plugin repo manager |
REPO_MANAGER_PR_TRIAGE | true | Activer les vérifications de déduplication des PR |
REPO_MANAGER_ISSUE_TRIAGE | true | Activer les vérifications de déduplication des tickets |
REPO_MANAGER_AUTO_LABEL | true | Activer l'étiquetage automatique pour les PR et les tickets |
Configuration par dépôt
Les paramètres peuvent être remplacés par dépôt à l'aide du modèle Config modèle. La configuration au niveau du dépôt est prioritaire sur les variables d'environnement.
# Example: enable repo manager for a specific repo
Config.set_value("repository", "owner/repo", "repo_manager.enabled", True, "bool")
# Disable PR triage for a specific repo
Config.set_value("repository", "owner/repo", "repo_manager.pr_triage_enabled", False, "bool") | Clé de configuration | Type | Description |
|---|---|---|
repo_manager.enabled | bool | Activer/désactiver pour ce dépôt |
repo_manager.pr_triage_enabled | bool | Activer/désactiver la déduplication des PR |
repo_manager.issue_triage_enabled | bool | Activer/désactiver la déduplication des tickets |
repo_manager.auto_label_enabled | bool | Activer/désactiver l'étiquetage automatique |
Ordre de résolution de la configuration
Les paramètres sont résolus par ordre de spécificité :
- Configuration du dépôt (entrée du modèle Config pour le dépôt concerné)
- Variable d'environnement (valeur par défaut globale)
- Valeur par défaut du plugin (désactivé)
Autorisations de l'application GitHub
Le repo manager requiert les autorisations suivantes sur votre application GitHub (en plus de celles nécessaires aux revues de code) :
- Issues: Lecture et écriture (pour lister les tickets, publier des commentaires, appliquer des étiquettes)
- Pull requests: Lecture et écriture (déjà requis pour les revues de code)
Détection des doublons
Lors de la vérification des doublons, le plugin compare le titre et le corps du nouvel élément à jusqu'à 50 éléments ouverts existants. Le LLM analyse la similarité sémantique (et pas seulement la correspondance des titres), ce qui permet de détecter les doublons même lorsqu'ils sont formulés différemment.
Les commentaires de doublons sont idempotents : si un commentaire de déduplication existe déjà sur la PR/le ticket, il est mis à jour plutôt que d'en créer un nouveau.
Étiquetage automatique
La fonctionnalité d'étiquetage automatique ne suggère que des étiquettes qui existent déjà dans votre dépôt. Elle ne créera jamais de nouvelles étiquettes. Pour les PR, elle tient également compte du contenu du diff afin de formuler des suggestions plus précises.
La correspondance des étiquettes est insensible à la casse : si votre dépôt possède une étiquette appelée Bug et que le LLM suggère bugil l'appliquera correctement Bug.
Suivant : Affectation des tâches aux agents
Le tri constitue la première moitié d'une boucle que nous refermons. La seconde moitié est l'affectation des tâches aux agents: une fois un ticket trié, dédoublonné et étiqueté, SourceAnt le confie à un agent de codage sous forme de tâche bien délimitée, accompagnée de la partie pertinente du graphe de connaissances, afin que le travail démarre avec les décisions et contraintes applicables à ce code.
Statut : en développement, pas encore déployé. Suivez le dépôt pour suivre l'avancement. Le tri et l'étiquetage automatique décrits sur cette page sont disponibles dès aujourd'hui.