vendredi 27 novembre 2009

Indicateurs pour vos projets avec PsTFS

Souvent, j'entends parler d'indicateurs projet et avec TFS soit nous utilisons Reporting soit Excel.

La version Reporting est assez lourde pour un chef de projet qui doit suivre l'évolution de son projet au quotidien. Excel quant à lui permet beaucoup de choses, cela fera l'objet d'un post prochainement, mais personnellement je préfère le bureau de Windows.

Certains d'entre vous connaisse peut être PowerGadget (http://www.softwarefx.com/sfxSqlProducts/powerGadgets/). Pour ceux qui ne connaissent pas, ce projet permet la création de gadget pour Vista ou Win 7. Il peut se connecter sur trois sources de données :

  • Web Service
  • Base de données
  • Commande PowerShell


Bien entendu pour ceux qui suivent mon blog, j'ai mes commandes Powershell pour TFS (http://PsTFS.Codeplex.com). Donc naturellement j'ai créé mes indicateurs pour gérer mes projets, en voici un exemple pour le suivi des bugs.

J'ai donc :

  • 1 bug actif
  • 7 bugs fermés
  • 5 bugs en attente d'être testé

Ces indicateurs sont mis à jour toutes les heures mais c'est entièrement et facilement paramétrable de 1s à 1h.

Pour avoir ce résultat, il suffit d'exécuter une de mes commandes de faire une petite boucle foreach et voilà :

Script pour récupérer les Bug Actif :

   1: $wis = get-Wis -tfs http://monServer:8080 -ProjectName MonProjet



   2: $count = 0



   3: foreach($w in $wis)



   4: { 



   5:     if($w.Fields["System.WorkItemType"].Value -eq "Bogue" -and $w.Fields["System.State"].Value -eq "Actif")



   6:     {



   7:         $count = $count + 1



   8:     }



   9: }



  10: $count




Simple non?



Faire la même chose pour les tâches :



 



Si vous souhaitez une démonstration contactez-moi : n.choulant@evaluant.com


samedi 21 novembre 2009

Quand le Web rencontre PsTFS

PsTS est déjà la rencontre entre PowerShell et TFS, les CmdLet que compose PsTFS permettent déjà beaucoup de choses (Ajout de WI, parcourt des Label, parcourt des projets, provider TFS...)

Aujourd'hui j'ai le plaisir de vous faire découvrir la pré version Alpha (et oui c'est ses débuts) mais les possibilités de l'outils que je vais vous présenter son prometteuses.
  • Ajout des WI par Interface Web
  • Parcourt des projets par Interface web
  • ...

Vous pourriez me dire que cela existe déjà (Team system web access) future Visual Studio 2010...

Mais PsTFS Web Admin va plus loin, si non quel est l'intérêt de le développer ;). Pouvoir exécuter des scripts powershell, personnaliser les CdmLet PsTFS à exécuter...


Mon exemple le plus concret est de devoir créer un projet TFS via une interface web avec l'ajout des comptes dans l'AD, envois de mail au membre de l'équipe avec toutes les informations du projet...

Ceci n'est pas possible aujourd'hui, bien que Antoine Habert est développé un outils super "PoshBoard", PsTFS Web Admin ne répond pas au même attente.

Vous pourrez développer vos propres scripts et créer le menu dans PsTFS Web Admin très facilement par fichier XML pour l'exécuter. Dans ce cas PsTFS Web Admin se chargera de vous présenter les paramètres à transmettre au script, de l'éxécuter et de vous donner le résultat.

Envoyer ses propres commandes powershell pour afficher la liste des projets de votre serveur TFS .

JQuery permet beaucoup de chose coté client. le trie, la recherche...

Les commandes powershell dont typé (Add, Get, Set, Remove etc..) La présentation changera suivant le typage des commandes souhaitées.

Par exemple les commandes de type Get vous seront présentés sous forme de Grille et les commandes typé Add sous forme de formulaire...

Les données générées dans powershell reste accéssible et cela vous permettra de suivre les différentes étapes.

Des élements graphique arriveront et permettront de générer des graphiques. Tableau de bord ? et oui, aujourd'hui en web nous ne pouvons utiliser que Reporting Service, par toujours pratique et pas en temps réel, et Excel service seulement si vous disposez de MOSS.

PsTFS Web Admin sera disponible en version Beta courant Décembre 2009, je vous invite à vous abonner au flux RSS de mon site pour avoir des nouvelles rapidement. Pour les plus pressé s vous pouvez me contacter par mail ( n.choulant@evaluant.com).

L'objectif finale est d'avoir un réel tableau de bord interactif pour Team Foundation Serveur sans devoir redévelopper un Add-in C# ou tout autre éléments. Un script Powershell est à la porté de tous ;)
A suivre bientôt sur : http://pstfswebadmin.codeplex.com/

dimanche 8 novembre 2009

Ecran de veille Team Build

Je ne l'aurais jamais imaginé et pourtant cela existe. Je manque souvant de place sur mon écran pour afficher des informations mais mon écran de veille ???

Et oui un écran de veille permettant de voir les build en cours :



Lien : http://teambuildscreensaver.codeplex.com

PsTFS Quick Reference

PsTFS arrive à plus de 30 commandes. Ces commandes permettent de créer un projet, de faire des branches, merge... et bien d'autre choses encore.

Ci retrouver n'est pas chose facile, et c'est pour cela que j'ai fait le PsTFS Quick Reference.




Ce document vous permettra d'utiliser des commandes assez facilement. Ce qu'il faut bien voir, c'est que les commandes PsTFS doivent être utilisées avec la puissance de Powershell.

Pour l'ajout d'utilisateur la commande "Add-MemberProject" se repose sur deux proriétés :

  • UserName
  • Roles

L'utilisation de Powershell permet de récupérer les informations d'un fichier text :

PsTFS > : $content = get-content C:\Users\Administrateur\Desktop\PowerShell\users.txt

PsTFS > : foreach ($line in $content) { $tab = $line.split("") ; Add-MemberProject -tfs $tfs -ProjectName VSTS.Noham -UserName $tab[0] -Roles $tab[1];}

Pour faire la différence avec deux répertoires de TFS il y a la commande "Get-Diff " cette commande permet d'avoir la liste des fichiers différents :

PS C:\> $item = Get-Diff -TFS $tfs -PathL "$\EvaTraining\Developpement" -PathR "$\EvaTraining\Integration"
Compared 1386
itemsSame: 1286
Diff: 55
Right Only: 12
Left Only: 33
PS C:\> $item FT
Information TypeDiff DateCheckInL DateCheckInR TypeItem
----------- ----------------------------------------
$/EvaTraining/Developpement/Co... Diff 14/09/2009 17:02:13 27/05/2009
18:37:03 File

Pas toujours facile de lire l'information dans la console Powershell, hors avec la verison V2 nous avons "Out-GridView", ce qui permet de faire :

$item Out-GridView

et d'avoir



Et le système de filtre



En plus vous trouverez dans la version V1.0.0.1 des correctifs et une nouvelle commande :
Get-MergeInfo -> Permet d'avoir les informations sur les fusions (Changeset)
Et une modification de la commande Get-Diff :
Lien vers PsTFS Quick Reference :
Emplacement pour la documentation :