This project is read-only.

Automatically generating release notes from TFS

Software configuration management application are in the centre of any Application Lifecycle Management solution. As part for Microsoft ALM offering, TFS does provides several different functionality that essentially is important in managing and executing software projects.

As part of continuous delivery, it’s important for software configuration managers and release managers to provide accurate information on release notes. Essentially, release notes includes information about enhancements and bugs that are supported in a given release.

As part of integrated solution, TFS provides support for file version management, workitems management and build automation. Developers performing changes to source code should generally link their Changesets to WorkItems. This is considered as good practice within TFS as it provides information about the approved WorkItems and associated impact on source code.

TFS ChangeLog application uses this Changesets and WorkItems link information for generating change log. It queries TFS repository in real-time to gather release notes information. Refer to following overview diagram for understanding overall process that TFS ChangeLog application used behind the scene.

clip_image002

In the above diagram, it should be easy to understand relation between Main Branch, Integration Branch and Development Branch. All the triangles are representing TFS Changesets where as diamonds represents TFS WorkItems that are linked to Changesets.

TFS has support for different type of WorkItems based on process template that you use for your project. Generally, developers are working on smaller type of work items (i.e. task, small user stories, bugs, etc.) while they make changes in “Development Branch”. Configuration managers then generally group such small changes together to support bigger type of WorkItem changes (i.e. Change Request, Enhancement Request, Epic User Story, Product Backlog Item, etc.) by merging them together from “Development Branch” into “Integration Branch”. Again it’s possible to link WorkItem to such merge changeset in TFS. And finally, grouping various bigger WorkItems together from “Integration Branch” produces release that is merged into “Main Branch”.

In TFS ChangeLog application, users choose their branch along with starting point (starting changeset) and ending point (ending changest) based on which it generates release notes. So, if users choose “Development Branch” for generating release notes then it will extract all the ChangeSet information along with information about associated smaller type of work items (i.e. task, small user stories, bugs, etc.). And if user chooses “Integration Branch” for generating release notes then it will extract all the ChangeSet information along with information about associated bigger type of WorkItem changes (i.e. Change Request, Enhancement Request, Epic User Story, Product Backlog Item, etc.).

TFS ChangeLog application extracts data in XML format that has information about ChangeSets and associated WorkItems. Then it uses XSLT 2.0 to translate information from XML into HTML.

XSLT is very powerful tool at users disposal. Users can modify XSLT file that is provided out of the box with TFS ChangeLog application to customize output as per their requirements. This enables users to define their own style, filter, conditions and other formatting that suits their requirements for generating release notes.

 

Documentation Table of Content :

Generating Release Notes Report from TFS

Generating File Difference Report from TFS

Last edited Nov 19, 2012 at 3:20 PM by Dharmesh_Shah, version 6

Comments

stringz Sep 16, 2014 at 10:20 AM 
Please comment on minimum Hardware Software requirements.

Will this work on Windows Xp, having .NET Framework 3.5 and 4.0 ? I have tried it, but it doesn't seems to work.