ZenHub 2.0

Je vous ai parlé il y a quelques mois de Zenhub. Zenhub revient en version 2.0 et résoud un certain nombre de points qui nous empechaient de l'utiliser dans notre workflow. Nous sommes encore en train de l'essayer mais il y a de bonnes chances pour qu'on adopte cette nouvelle version.

Présentation

Zenhub, c'est un gestionnaire de projet agile qui s'interface autour de Github. Il est toujours agaçant de devoir jongler entre un project manager classique comme Pivotal, Jira, ou même un mur physique et Github qui propose son propre système d'issues et de pull requests. Zenhub, à l'aide d'une extension Chrome, va modifier l'interface de Github pour permettre de présenter les issues et les pull requests sous la forme de cartes rangées dans des colonnes. Tout est bien expliqué dans mon précédent article.

Nouveautés

Parmi toutes les nouveautés, j'en ai retenues quelques unes qui étaient des points de blocage pour une utilisation quotidienne dans notre équipe.

Multi-projets

Notre projet est séparé en plusieurs dépôts. C'est un découpage assez classique : un dépôt pour l'application cliente, et un dépôt (plusieurs même) pour le backend. Et donc : où ranger les stories ? Comment s'y retrouver en ayant un mur par dépôt ? Et bien c'est maintenant possible grâce à cette mise à jour : on peut fusionner autant de dépôt que l'on veut dans une même board et ainsi voir toutes les issues et pull requests de chacun des dépôts. On peut en plus filtrer pour n'afficher les issues que des dépôts qui nous intéressent.

Filtres

Il est possible de filtrer les issues et les pull requests de façon à s'y retrouver plus facilement. La case à cocher pour masquer les pull requests sera bien pratique pour ceux qui ne connaissent pas l'astuce que je vais vous divulguer à la fin de l'article.

Estimations

Très bon point ajouté à cette nouvelle version : on peut désormais estimer les stories grâce à un menu permettant de choisir un effort :

Cela sera très utile pour le…

Burndown chart

Un nouvel onglet affiche le burndown chart d'une milestone ainsi que la liste des stories qui lui sont rattachées permettant d'avoir une vision globale de l'avancement du projet.

Affichage des issues

Désormais, lorsqu'on clique dans une carte, au lieu d'ouvrir l'issue ou la PR dans une popup, elle s'affiche dans une modale. C'est plus agréable et on s'y perd un peu moins.

Bonus : Convertir une issue en pull request

Un des points très embêtants pour gérer nos stories sur Github est la séparation des issues et des pull requests. En pratique, le product owner va rédiger une story dans une issue. L'issue va être rangé dans la colonne backlog. Le développeur va déplacer l'issue dans la colonne In Progress et va commencer à coder. Puis il va créer une pull request. Et c'est là qu'on est embêté car on doit gérer à la fois une issue et une pull request, qui apparaissent toutes les deux dans la board. Mais il existe une solution. La commande hub est un outil qui permet d'intégarir avec GitHub depuis votre shell et qui propose une commande pull-request. Cette commande prend en paramètre un ID d'issue et elle va remplacer cette issue par une pull request. Ça s'installe avec brew :

brew install hub  

Et ensuite on peut transformer l'issue en pull request grâce à :

hub pull-request -i 123 -b master -h feature-sidenav  

123 étant l'ID de l'issue, -b indiquant la branche dans laquelle on fusionnera la pull request et -h la branche que l'on voudra merger.

Il ne reste plus à Zenhub qu'à implémenter la fonction pour proposer un outil proche de la perfection :)

Hadrien

Hi, I'm a french Javascript Lead Developer, Web Architect from Toulouse, France. I've worked for 12 years for many projects with YUI, AngularJS, Aurelia.io and now React and React native.

Toulouse, France https://hadrien.eu