GitHub Code Quality analyse votre code afin de détecter les problèmes de qualité et de couverture, et propose des correctifs basés sur Copilot que vous pouvez appliquer en un clic. Il s’exécute à deux endroits :
- Dans les pull requests, les problèmes détectés apparaissent sous forme de commentaires en ligne avant que le code ne soit fusionné. Si vous téléversez un rapport de couverture Cobertura au format XML, les indicateurs de couverture montrent si une modification maintient ou réduit le niveau de couverture. Vous pouvez imposer des seuils de qualité et de couverture à l’aide de jeux de règles afin de bloquer les demandes de fusion qui ne répondent pas à vos critères, et ainsi éviter l’accumulation d’une nouvelle dette de qualité.
- Dans la branche par défaut, les analyses identifient la dette de qualité déjà présente dans l’ensemble de votre base de code, avec des correctifs automatiques que vous pouvez appliquer directement ou attribuer à Agent cloud Copilot, afin qu’il les résolve pour vous.
La détection combine des règles déterministes CodeQL pour les anti-modèles connus avec l’analyse basée sur l’IA pour les problèmes qui se trouvent en dehors des ensembles de règles existants, y compris les langages non encore couverts par CodeQL les requêtes.
Cas d’utilisation
Voici à quoi GitHub Code Quality ressemble dans la pratique.
Pour les développeurs et les équipes :
- Un développeur ouvre une pull request qui introduit un problème de fiabilité ou de maintenabilité. Code Quality publie un commentaire expliquant le problème et propose un correctif en un clic avant la fusion du code. Le développeur voit également un rapport sur les métriques de couverture et peut indiquer en un clin d’œil si la demande de tirage améliore ou réduit la couverture par rapport à la branche par défaut.
- Une équipe adopte des assistants de codage IA et a besoin d’assurance que le code généré répond à la même barre que le code écrit manuellement. L’analyse alimentée par l’IA détecte des problèmes pour lesquels les requêtes basées sur des règles n’ont pas été conçues, tandis que CodeQL les règles couvrent les antipatterns bien définis.
- Une équipe hérite d’une grande base de code avec des années de dette de qualité cumulée. Code Quality analyse la branche par défaut, affiche les résultats avec des correctifs automatiques dans un tableau de bord, et l’équipe assigne le travail de remédiation à Agent cloud Copilot pour ouvrir automatiquement des pull requests de correction.
Pour les administrateurs et les prospects :
- Un responsable technique définit des seuils de couverture et de qualité à l’aide de jeux de règles. Les pull requests qui ne répondent pas aux critères sont empêchées d’être fusionnées, de sorte qu’aucune nouvelle dette de qualité ou de couverture ne s’accumule.
- Un administrateur a besoin d’une visibilité sur les référentiels pour les audits ou les rapports de conformité. Code Quality affiche des rapports dans la vue d’ensemble de la sécurité, aux côtés des outils de sécurité, afin qu’ils puissent voir le niveau de qualité dans l’ensemble de l’organisation en un clin d’œil, identifier les dépôts qui nécessitent une attention particulière et suivre les indicateurs d’amélioration à l’aide des contrôles et stratégies d’audit standard GitHub.
Disponibilité et facturation
Les coûts d’utilisation sont déterminés par :
- Frais de licence par utilisateur calculés en fonction du nombre de contributeurs actifs.
- Détections alimentées par l’IA et correctifs automatiques alimentés par Copilot, qui consomment GitHub AI Credits (aucune licence Copilot requise).
- GitHub Actions minutes pour les analyses déterministes CodeQL , si vous n’utilisez pas d’exécuteurs auto-hébergés.
Les fonctionnalités facultatives, telles que la délégation du travail de remédiation de la qualité du code à Copilot, nécessitent une licence Copilot.
Pour plus d’informations, consultez « GitHub Code Quality Facturation ».
Langues prises en charge
Code Quality effectue une analyse basée sur des règles des langues suivantes à l'aide de CodeQL :
- C#
- Go
- Java
- JavaScript
- Python
- Ruby
- TypeScript
Il effectue également une analyse reposant sur l’IA pour les demandes de fusion et pour le code récemment modifié de votre dépôt, y compris pour des langages autres que ceux pris en charge par les requêtes basées sur des règles.
Étapes suivantes
- Pour votre entreprise : Vérifiez que les dépôts de votre entreprise peuvent être activés Code Quality. Consultez « Autoriser l’utilisation de GitHub Code Quality dans votre entreprise ».
- Pour votre dépôt ou votre organisation : Activez la génération Code Quality des résultats. Consultez « Activation de GitHub Code Quality ».
- Dans votre pull request\u00a0: Découvrez comment corriger les problèmes de qualité du code dans votre pull request. Consultez « Empêcher les problèmes de qualité du code d’atteindre votre branche par défaut ».