Let There Be Code RSS 2.0
# Monday, December 21, 2009

Pour continuer la découverte du TFS SDK, je vous propose de découvrir comment retrouver l’adresse du Team System Web Access (TSWA) d’un serveur Team grâce au TFS SDK. Pour info je n’ai trouvé aucune documentation concernant cette partie du SDK sur la MSDN.

Pourquoi avoir besoin de récupérer les URL ? Tout simplement lorsque l’on étend les fonctionnalités de TFS vers d’autres outils tiers. Par exemple, dans une fonctionnalité de BOWIE 2010 d’envoie de Work Items par mail, je voulais, pour chacun des work items, avoir un lien qui pointe vers la page d’édition du work item comme indiqué ci-dessous :

image

Pour cela nous avons besoin d’une instance de la classe TeamFoundationServer que l’on trouve dans l’assembly Microsoft.TeamFoundation.Client.dll. Il faut ensuite récupérer une instance de la classe TswaClientHyperlinkService via la méthode GetService de l’objet TeamFoundationServer :

TeamFoundationServer server = TeamFoundationServerFactory.GetServer("http://localhost:8080/tfs/DefaultCollection");
TswaClientHyperlinkService tswa = server.GetService<TswaClientHyperlinkService>();
Grâce à cette classe nous allons pouvoir récupérer les url du Team System Web Access. Dans mon cas, pour récupérer l’url d’un work item à partir de son Id, il suffit d’utiliser la méthode GetWorkItemEditorUrl(int id) :

int wiId = 3;
Uri wiUri = tswa.GetWorkItemEditorUrl(wiId);

On obtient une URL du style : http://localhost:8080/tfs/web/wi.aspx?pcguid=7e6d1e34-000d-4adb-ad5e-93db70187570&id=3

Cette URL permet d’accéder à la page suivante :

image

Voici quelques unes des méthodes de la classe TswaClientHyperlinkService permettant de récupérer les url d’objets TFS:

  • GetChangesetDetailsUrl(int changeSetId)
  • GetHomeUrl(Uri projectUri)
  • GetShelvesetDetailsUrl(string shelvesetName, string shelvesetOwner)
  • GetSourceExplorerUrl(string serverItemPath)
  • GetViewBuildDetailsUrl(Uri buildUri)
  • GetWorkItemQueryEditorUrl(Uri projectUri, string queryPath)

La prochaine fois je vous ferai découvrir l’API de Build du TFS SDK, via le type IBuildServer.

Monday, December 21, 2009 8:17:37 PM (Romance Standard Time, UTC+01:00)  #    Voir Commentaires
Outlook Work Items Extension | Team System Web Access | TFS SDK
Archive
<August 2010>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2010
Benoît Laut
Sign In
All Content © 2010, Benoît Laut
DasBlog theme 'Business' created by Christoph De Baene (delarou)