Community TFS Build Manager

We have a new release,, available now with all the changes listed below.

Export Build Definitions
Support was added in 2.12.09 for calling out to the TFS Power Tools to dump the definition to file. There were a few issues with this,
    1. It was slow
    2. It required you to select your working folder so tfpt.exe knew where to operate
    3. It was prone to hanging
    4. The output is basically useless
    5. It was slow

In this release Export is now handled entirely by the extension so you get the following benefits
    1. It’s fast. You should be able to export around 300 builds a second.
    2. It works in the context of the extension, so no working folder chunkiness.
    3. A whole lot more detail is exported and its very easy to compare exact differences between build definitions.
    4. The output is in a format that can be imported.
    5. Coming soon is a .exe to wrap this so you can back up your build definitions every day (handy auditing).


Import Build Definitions
Hand in hand with the new Export functionality is the ability to import your exported builds. This may be handy when working across different instances or branches where you can have an exported template which you ‘detokenise’ in a different way depending on where you are importing to.

Import is provided via the new button in the top right


The import screen allows you to select a bunch of files to import as well as manually entering your own. The success of each import is reported.


Auto Refresh Builds
You can now toggle if you want to disable auto refresh. This is handy when you have intermittent network issues and don’t want the feature to run.


Last Modified By and Date
It’s almost impossible to tell who last updated a build definition, making it very hard to find who to blame when things start going wrong because of a change. The Build Definitions grid now has Last Modified By and Last Modified Date columns to make it easier to blame someone (hopefully someone else…)

The Build Definitions grid now shows the Agent Tags which a build requires. This is handy when trying to identify the scope of a change.

Trigger Details
The Build Definitions Trigger column now provides additional details on the Trigger, like how many submissions Gated batches on, or what time the Scheduled build will actually run. This is handy when trying to identify a good time for maintenance, or finding a good time to schedule a build, or simply to see that you have 50 builds all scheduled to start at the same time which could be causing some issues…

The Build Definitions grid now shows the OutputLocation (AsConfigured, PerProject, SingleFolder), making it easier to sort.
You can also change this setting now for 1-n Build Definitions.


Here is a highlight of some of the above changes


Build Duration
Support has been added to cater for builds which may run for > 24 hours.

2.12.09 brought a significant increase in performance for viewing running and completed builds. This release provides a few more improvements.

Process Template Types
The Process Templates grid now shows the type of template (Upgrade, Default, Custom), making it easier to sort.


Drop Location Fix
A fix has been made to support changing a drop location to a path which may have included the original path.

Build Resources
This release adds the Agent / Controller Id to the Build Resources grid.

Fixed an issue where the extension may refresh even if it was showing content which didn’t need refreshing.
Changed the refresh interval to 2 minutes.

Filtering Build Definitions
This was added in the last release and I wanted to elaborate a bit more on how the filtering works.
There are four options to use when filtering build definitions and you’ll get a tooltip on the search box to highlight them


1. If you just want to filter by name, simply type in the box and any builds CONTAINING the text will be shown.

2. If you want to find builds which include a Server Mapping in their workspace, then start the search with $/ or just paste in your mapping, e.g. $/YourTP/yourpath

3. If you want to find builds which use a specific string as a process parameter, e.g. all builds that emailed mike, simply type *mike.

4. If you want to find builds which use a specific string as a process parameter, perhaps amongst other text, then use ** so that a CONTAINS search is made.

These search options are useful which trying to determine the impact of a change. Perhaps you are changing a certificate name and you want to find all builds that use the certificate, etc…


Various other cosmetic tweaks and internal code fixes

As always, your feedback is appreciated, here or via the gallery.



3 Replies to “Community TFS Build Manager”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s