Share via


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 https://<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 https://<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 https://<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.

Comments

  • Anonymous
    January 12, 2006
    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?
  • Anonymous
    January 12, 2006
    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
  • Anonymous
    January 12, 2006
    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
  • Anonymous
    January 12, 2006
    I fixed the typo. In steps 5 and 6 it'll be BuildList.aspx and not rss.aspx
  • Anonymous
    October 22, 2006
    There is a lot of useful free utilities for Team System you can find spread all over the web. Some of
  • Anonymous
    October 30, 2006
    This is no longer working, I assume it has to do with difference in APIs, as it won't compile. :)
  • Anonymous
    January 22, 2007
    The comment has been removed
  • Anonymous
    March 10, 2007
    [EDIT] I neglected to mention that I received this listing from a colleague on the day I posted it. But
  • Anonymous
    March 11, 2007
    A dump, of various tools, thanks to Zeeshan Shah. Note: this is not an endorsed list. Utilities Team
  • Anonymous
    October 01, 2008
    Hi, I also faced the same problem getting compilation error. but i just removed <%@ Import Namespace="Microsoft.TeamFoundation.Build.Common" %> and its working.. If anoone is using TFS 2008 with Sp1. You could extarct these files under C:Program FilesMicrosoft Visual Studio 2008 Team Foundation ServerWeb ServicesBuildV2.0 and this way it will pickup the images as well. Thanks