How to clone a build definitions from one project to another within a same collection?

by XDK 7. March 2014 12:31


You can use TFS power tools command line utility to clone a build definition across projects

Note: You can download and install TFS Power Tools from

1. Open "Visual Studio" command prompt

2. You can use the following command to preview the build definition clone

tfpt builddefinition /clone "<Source Team Project Name>\Build Definition" "<Target Team Project Name>\Build Definition" /Collection:http://tfs:8080/tfs/DefaultCollection /preview

3. You can use the following command to clone the build definition

tfpt builddefinition /clone "<Source Team Project Name>\Build Definition" "<Target Team Project Name>\Build Definition" /Collection:http://tfs:8080/tfs/DefaultCollection

Only the well-defined build definition can be cloned using this approach meaning the build source build definition should have all the mandatory (required) properties filled with values

For example:

The source build definition without Build controller name cannot be cloned using this approach.

You can also use * wildcard character to clone all build definitions at one shot, provided you have well-defined build definition at source team project.

tfpt builddefinition /clone "<Source Team Project Name>\*" "<Target Team Project Name>\"  /Collection:http://tfs:8080/tfs/DefaultCollection

Remember to update the following build properties to the cloned build definition. 

1. Disable build definition to prevent accidental triggering.

2. Change workspace mapping to target team project source.

3. Change drop location.

4. Change the build process template to point to the right projects.

5. If you use custom build workflow/tasks, make sure your build controller custom assembly references are pointed to target team project source control

6. Enable the build definition.


Tags: , ,

TFS 2010 | TFS 2012 | TFS 2013

How to change the work item maximum attachment size?

by XDK 14. February 2014 08:16


By default, The maximum WI attachments size is set to 4 MB but the attachment size can be increased up to 2GB


  1. Log on to the application-tier server for TFS.

  2. open the URL: http://localhost:8080/tfs/<Collection Name>/WorkItemTracking/v1.0/ConfigurationSettingsService.asmx?op=SetMaxAttachmentSize

  3. Enter the size in bytes, and then choose Invoke. For 9.5 MB, enter  10000000.

    SetMaxAttachmentSize, ConfigurationSettingsService


INSERT INTO [<Collection DB Name>].[dbo].[tbl_RegistryItems] VALUES (1,'#\Service\WorkItemTracking\Settings\','MaxAttachmentSize\',10000000);


TFS 2010 | TFS 2012 | TFS 2013

Load Test: The test has not started yet

by XDK 4. February 2014 14:06


"The test has not started yet"


The test run result window just lists the name of the machine from which it ran, but it never opens the results and also Test run state remains pending. After I double click on the machine test item it just says "The Test has not started yet". Not able to view the result online during load test execution time. 



The VS 2010 client version which I used to execute the load was SP1. But the test rig environment version was only VS 2010 RTM. 

1. Installed the SP1 on test controller and agents

2. Reconfigured the agents to controller again.


Azure DevOps on-premises | TFS 2010 | Web Performance & Load Tests

About Test Attachment Cleaner

by XDK 30. January 2014 11:37


A command line tool that only removes the attachments. It does not touch the test runs, which contain the pass/fail data. So, running Test Attachment Cleaner will not impact the record of the test runs.

You need to Test Attachment Cleaner if you:

  1. Do manual test runs and want to delete attachments without deleting the test runs
  2. Do automated test runs and want to delete attachment for builds which have been deleted already, but the build definition’s retention policy was not set to delete “test results” (because this is turned off by default)

You do not need the Test Attachment Cleaner if you:

  1. Have automated test runs triggered by a build, and you have configured the build definition’s retention policy to delete “test results” (which is not set by default)
  2. Delete the Test Runs manually (as this deletes the attachments)

 SQL Query to get the attachment type associated with the team project.

Select projects.ProjectName, SUBSTRING(attachments.filename,

len(attachments.filename)-CHARINDEX('.',REVERSE(attachments.filename))+2,999) as Extension, sum(f.compressedlength)/1024/1024 as SizeInMB
From tbl_Attachment as attachments
INNER JOIN tbl_File as f on attachments.TfsFileId=f.fileid
INNER JOIN tbl_TestRun as tr on attachments.TestRunId = tr.TestRunId
INNER JOIN tbl_Project as projects on tr.ProjectId = projects.ProjectId
Group by projects.ProjectName, SUBSTRING(attachments.filename,len(attachments.filename)-CHARINDEX('.',REVERSE(attachments.filename))+2,999)
Order by sum(f.compressedlength) desc

Download Attachment Cleaner

Command to preview the attachments before delete
tcmpt attachmentcleanup /collection:TfsUrl /teamproject:TeamProjectName /settingsfile:SettingsFile /outputfile
:<Output dir>/teamproject.log /mode:preview
Command to delete the attachments
tcmpt attachmentcleanup /collection:TfsUrl /teamproject:TeamProjectName /settingsfile:SettingsFile /outputfile:<Output dir>/teamproject.log

Sample settingsfile

    <SizeInMB GreaterThan="50"/>   


MTM | TFS 2010 | TFS 2012 | TFS 2013

Unknown domain users displayed in the work items "assigned to" field

by XDK 29. January 2014 16:57


IT administrators account get populated in the work item "assigned to" field.

By default, [TEAM FOUNDATION]\Valid Users include [TEAM FOUNDATION]\Team Foundation Administrators which holds [BUILT IN]\Administrators.


In the TFS Server Administration Console

1. Select Application Tier and clicked Group Membership. I

2. Double-click on [TEAM FOUNDATION]\Team Foundation Administrators 

3. Remove [BUILT IN]\Administrator


TFS 2010 | TFS 2012 | TFS 2013

About the author

My name is Xavier Dilip Kumar Jayaraj having 16+ years of IT experience which includes solid experience and depth Knowledge in Application Life Cycle Management, Configuration Management, Implementation and Support using TFS on-premises and Azure DevOps. I have invested in gaining DevOps knowledege to expertise with Cloud Computing providers namely Microsoft Azure and Amazon Web Services in recent years. I am very positive to learn and adapt emerging technologies to client’s environment.

Microsoft Certified: Azure Administrator Associate

Microsoft Certified: Azure DevOps Engineer Expert

DevOps Engineer Certificate Program | Transcript 

OTP-AWSD5: AWS IoT: Developing and Deploying an Internet of Things

[PCEP-30-01] PCEP – Certified Entry-Level Python Programmer

Quotes I Like

"Failure will never overtake me if my determination to succeed is strong enough."  - Dr. APJ. Abdul Kalam

"Always be yourself, express yourself, have faith in yourself, do not go out and look for a successful personality and duplicate it." - Bruce Lee

"Technology is just a tool. In terms of getting the kids working together and motivating them, the teacher is the most important." - Bill Gates

"Innovation distinguishes between a leader and a follower." - Steve Jobs



The information provided here is based on my expreriences, troubleshooting and online/offline findings. It can be used as is on your own risk without any warranties and I impose no rights.