Welcome to MSDN Blogs Sign in | Join | Help

Extending the team build web-view

<Update: Fixed so that you no longer need to copy the Microsoft.TeamFoundation.Build.Common.dll. Thanks to a Watson bug we got to this >

We had a web-UI for Build Report but we do not have one for Build List. Sometime back we had customer queries on adding/removing columns as well as printing the list, both of which we do not support out of the box.

Team System is very extensible with a lot of functionality exposed through web-methods and client-side object-models. I cooked up a web UI which you can use to see the list of builds, optionally filtered by the Build Type in you favourite borwser. The web-ui consists of an aspx page and an xsl file to format the generated xml. All the data that is available for a build is exposed in the XML generated by the aspx code and you can customize the xsl to show the nodes as you like. .

Deploying

  1. Download the zip from here
  2. Unzip the sources into Team Foundation Server folder as in %Program Files%\Microsoft Team Foundation 2005\Web Services\Build\v1.0.
  3. Add people whom you want to be able to see the list in the Reader group for the team project.
  4. To access the list use the URL http://<TFSServer>:<Port>/Build/v1.0/BuildList.aspx?TeamProject=ProjectName. Replace the part marked in red with your TFS and project name
  5. To see the list of only a particular Build Type use something like http://<TFSServer>:<Port>/Build/v1.0/BuildList.aspx?TeamProject=ProjectName&BuildType=Bt

Screen Shot

Build list as seen in IE filtered on the Build Type Bt2

Build list screen shot

Customizing

You can further customize the list like adding filters. You can accept some filter as in http://<TFSServer>:<Port>/Build/v1.0/BuildList.aspx?TeamProject=ProjectName&BuildType=Bt&Filter=LastWeek and then inside the foreach (BuildData buildData in listOfBuilds) skip all builds that have FinishTime more than a week older

You can customize the list by changing the xsl file as well.

Support

This should work with both Beta 3 and the latest CTP bits. In case you failed to get this to work, drop me a message either in comments or in the contact page.

Published Thursday, January 12, 2006 1:48 PM by abhinaba
Filed under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# re: Extending the team build web-view

Thursday, January 12, 2006 8:54 AM by Simon Burgess
Hi
This is going to be really useful for me. Can you tell me is it possible to customise the list for example to show the changesets and by association the work items included in each build?

# re: Extending the team build web-view

Thursday, January 12, 2006 1:47 PM by abhinaba
The answer is yes. Web-methods to do this is included. I'll get a sample ready about doing this soon.

Do you have any specific scenario for which you want to do this? I mean for web-ui you already get this for free. If you click on any of the Build Type name in the build list, the detailed build-report web-ui is opened which has both of this information. If you want to show the information for the whole build-list, you'll hit two issues

1)it'll clutter your view as each build will have multiple changeset and multiple associated work-items. It'll be difficult to organize this information for all builds in a single window

2) you'll hit severe permorfance issue. Say you have 200 builds on your system. You'll get the list using one web-method call. Then to get the changeset and work-items you'll need to call multiple web-methods for each of the builds. So you'll soon land up with couple of thousands of web-method calls per report. If you have some smart devs who wants to not work on the pretex of the "server is down" he'll just get couple of his friends to hit F5 on the report page couple of times. It's another story that you can read the blog http://blogs.msdn.com/abhinaba/archive/2005/12/27/507499.aspx and actually catch him and his friends and make them work over the week-end

# re: Extending the team build web-view

Thursday, January 12, 2006 8:09 PM by Anthony Borton
Hi Abhinaba,

Thanks for another great extension for TFS. One quick thing though... In steps 5 and 6 did you mean to put the RSS.ASPX URL? :)

Cheers

Anthony

# re: Extending the team build web-view

Friday, January 13, 2006 1:31 AM by abhinaba
I fixed the typo. In steps 5 and 6 it'll be BuildList.aspx and not rss.aspx

# Team System Utilities

Monday, October 23, 2006 2:24 AM by SRLTeam

There is a lot of useful free utilities for Team System you can find spread all over the web. Some of

# re: Extending the team build web-view

Tuesday, October 31, 2006 3:52 AM by Jarle Nygård

This is no longer working, I assume it has to do with difference in APIs, as it won't compile. :)

# I am getting compilation error

Tuesday, January 23, 2007 7:45 AM by samant

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0234: The type or namespace name 'Common' does not exist in the namespace 'Microsoft.TeamFoundation.Build' (are you missing an assembly reference?)

Source Error:

Line 16: <%@ Import Namespace="Microsoft.TeamFoundation" %>

Line 17: <%@ Import Namespace="Microsoft.TeamFoundation.Build.Server" %>

Line 18: <%@ Import Namespace="Microsoft.TeamFoundation.Build.Common" %>

Line 19:

Line 20: <%

Source File: c:\Program Files\Microsoft Visual Studio 2005 Team Foundation Server\Web Services\Build\v1.0\BuildList.aspx    

# List of Tools and Add-ins for TFS/VSTS

Sunday, March 11, 2007 12:14 AM by It's Way Too Early For This

[EDIT] I neglected to mention that I received this listing from a colleague on the day I posted it. But

# Team Foundation Server Tools

Sunday, March 11, 2007 6:39 PM by Team Individualism

A dump, of various tools, thanks to Zeeshan Shah. Note: this is not an endorsed list. Utilities Team

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker