GitHub améliore Issues : mieux chercher, mieux coder

GitHub continue d’affiner son outil de suivi avec une refonte attendue de la recherche dans Issues. Désormais, les développeurs peuvent combiner des opérateurs booléens (AND, OR) et des parenthèses pour composer des requêtes complexes et précises sur tous les champs disponibles. De quoi faciliter la navigation dans les tickets d’un projet, même volumineux.

Bonne nouvelle pour les développeurs, dénichée sur le blog de Github. Longtemps limitée à des requêtes plates, la recherche dans Issues se modernise en profondeur.. Il est à présent possible d’écrire des expressions imbriquées comme is:issue state:open author:@me (type:Bug OR type:Epic), ce qui permet par exemple de cibler tous les bugs ou épopées ouverts rédigés par un contributeur spécifique. Cette capacité dépasse largement l’ancien système basé uniquement sur des AND implicites et une syntaxe simplifiée par des virgules sur certains champs comme les labels.

Ce changement n’est pas simplement cosmétique

Côté architecture, GitHub a remplacé son moteur IssuesQuery par un nouveau module ConditionalIssuesQuery, capable d’analyser des arbres de syntaxe abstraite (AST) et de les traduire en requêtes optimisées pour Elasticsearch. L’ancienne approche linéaire ne permettait pas cette profondeur. La nouvelle implémentation exploite une grammaire PEG et une bibliothèque de parsing dédiée, parslet, pour bâtir des arbres booléens exprimant la logique de recherche. Ces arbres sont ensuite parcourus récursivement pour générer des requêtes boolimbriquées parfaitement alignées avec les capacités d’Elasticsearch.

Développement : ce qu’il faut savoir sur le lancement des « sub-issues » par GitHub

GitHub a veillé à ne pas casser l’existant : toutes les requêtes classiques continuent de fonctionner, et les nouveaux comportements ont d’abord été testés à l’interne, puis soumis à des partenaires de confiance. Durant les phases de test, 1 % des recherches étaient exécutées simultanément avec les anciens et nouveaux moteurs afin de détecter d’éventuelles divergences. Ce processus de « dark-shipping » a permis de corriger les derniers cas limites avant le déploiement global.

Plus de structure, enfin !

Cette avancée s’inscrit dans la continuité de l’évolution de GitHub Issues vers un outil plus structuré, amorcée avec l’introduction des sub-issues en avril dernier . Les nouvelles capacités de recherche renforcent cette dynamique : permettre aux équipes de coder, prioriser et suivre plus efficacement, tout en s’appuyant sur des requêtes puissantes et lisibles.

Une documentation complète est disponible sur docs.github.com pour maîtriser cette syntaxe avancée. Développeurs, à vos requêtes.

Défiler vers le haut