Piloter une PR Dependabot en commentaire
💡 Sujet
Dependabot lit les commentaires postés sur ses propres Pull Requests et réagit à des commandes de la
forme @dependabot <action>. C'est le seul moyen de lui parler « à chaud », sans passer par
.github/dependabot.yml. Attention : GitHub a retiré cinq de ces commandes le 27 janvier 2026 au
profit des fonctions natives des PR, et la quasi-totalité des tutoriels en ligne les cite encore.
⚙️ Rafraîchir une PR : rebase ou recreate
Les deux commandes servent à remettre une PR à jour quand la branche de base a bougé. Elles ne font pas la même chose.
@dependabot rebaseRejoue les commits de la branche de la PR par-dessus la branche de base. Les commits ajoutés à la main sont conservés — correctifs de compilation, mise à jour d'un lockfile secondaire, adaptation d'un appel d'API cassé par la nouvelle version.
@dependabot recreateJette la branche et la reconstruit à partir de zéro, comme si Dependabot ouvrait la PR aujourd'hui. Tout travail manuel présent sur la branche est perdu.
Le réflexe : rebase par défaut, recreate uniquement quand on veut repartir propre — typiquement
après avoir modifié dependabot.yml (nouvelle versioning-strategy, nouveaux labels) pour que la
PR existante reflète la nouvelle configuration.
Dependabot rebase déjà tout seul selon l'option rebase-strategy du fichier de configuration
(auto par défaut, disabled pour couper). La commande sert quand ce rebase automatique est
désactivé, ou pour forcer le passage sans attendre.
🚫 Fermer une PR et ignorer une version
Ces commandes ferment la PR et enregistrent une condition d'ignore, ce qui empêche Dependabot de la rouvrir plus tard.
@dependabot ignore this patch version
@dependabot ignore this minor version
@dependabot ignore this major version
@dependabot ignore this dependencyDu plus étroit au plus large : ignorer la version proposée, toute la série mineure, toute la série majeure, ou la dépendance en entier.
Le piège : ces conditions sont stockées côté GitHub, pas écrites dans .github/dependabot.yml.
Elles sont donc invisibles dans le dépôt, ne sont pas versionnées, et personne ne comprend six mois
plus tard pourquoi une dépendance n'est plus mise à jour. Pour une règle durable, mieux vaut la
poser explicitement dans le ignore: du fichier de configuration.
Fermer la PR à la main (bouton « Close » de l'interface) n'est pas équivalent : aucune condition n'est enregistrée, Dependabot ne recrée pas cette PR-là mais reproposera la version suivante.
👁️ Inspecter et lever les ignores
Puisque les conditions posées en commentaire sont invisibles dans le dépôt, il existe une commande pour les relire :
@dependabot show lodash ignore conditionsDependabot répond par un commentaire contenant un tableau des conditions actives pour cette
dépendance, avec leur origine (commande de commentaire ou dependabot.yml).
Pour revenir en arrière :
@dependabot unignore lodashLève toutes les conditions d'ignore de cette dépendance.
@dependabot unignore lodash [< 5]Lève une condition précise — celle-ci se recopie depuis la sortie de show.
@dependabot unignore *Lève toutes les conditions de toutes les dépendances de la PR.
📦 Le cas des PR groupées
Sur une PR issue d'un groupe (groups: dans la configuration), les formes en this sont ambiguës :
la PR porte plusieurs dépendances. Il faut donc nommer la dépendance visée.
@dependabot ignore lodash major version
@dependabot ignore lodash minor version
@dependabot ignore lodashContrairement aux commandes ignore sur une PR simple, celles-ci ne ferment pas la PR : la
dépendance visée est retirée du groupe et les autres mises à jour restent proposées.
⛔ Les commandes retirées le 27 janvier 2026
Ces cinq commandes ne fonctionnent plus :
@dependabot merge
@dependabot squash and merge
@dependabot cancel merge
@dependabot close
@dependabot reopenGitHub les a supprimées au profit des fonctions natives des Pull Requests, plus fiables et cohérentes avec le reste de la plateforme :
merge/squash and merge→ le bouton de fusion, l'auto-merge natif (fusion dès que la CI passe, ce qui était exactement le rôle de@dependabot merge),gh pr merge --auto, ou l'endpoint RESTPUT /repos/{owner}/{repo}/pulls/{pull_number}/merge.cancel merge→ désactiver l'auto-merge sur la PR.close/reopen→ les boutons de l'interface, ough pr close/gh pr reopen.
Les workflows d'auto-merge qui postaient @dependabot merge via gh pr comment sont donc à
réécrire en gh pr merge --auto --squash.
🔐 Qui peut lancer ces commandes
Dependabot n'obéit qu'aux utilisateurs disposant d'un accès en écriture au dépôt. Un commentaire posté par un contributeur externe est ignoré en silence — pas de message d'erreur, la commande ne produit simplement rien.
🧩 Résumé
- 🔄
rebaserejoue la branche et garde les commits manuels ;recreatereconstruit tout et les perd. - 🧰
recreateest l'outil pour propager un changement dedependabot.ymlsur une PR ouverte. - 🚫 Les
ignore this ... versionferment la PR et posent une condition invisible dans le dépôt — préférer leignore:du fichier de configuration pour une règle durable. - 👁️
show <dep> ignore conditionsest le seul moyen de relire ces conditions cachées,unignorede les lever. - 📦 Sur une PR groupée, il faut nommer la dépendance, et la commande ne ferme pas la PR.
- ⛔
merge,squash and merge,cancel merge,closeetreopensont mortes depuis le 27 janvier 2026 : passer à l'auto-merge natif et aux boutons de l'interface. - 🔐 Sans accès en écriture, les commandes sont ignorées sans le moindre retour.
🔗 Références
- Dependabot pull request comment commands
- Changelog : Changes to GitHub Dependabot pull request comment commands (27/01/2026)
- Changelog : Upcoming changes to GitHub Dependabot pull request comment commands (07/10/2025)
- Changelog : Ignore or unignore updates for grouped Dependabot pull requests
- Managing pull requests for dependency updates