How to batch update multiple workitems in TFS

Ken Yao picture Ken Yao · Jul 31, 2009 · Viewed 12.5k times · Source

I need to update same field to same value for hundreds of workitems in TFS. Is there any way to do it in a batch instead of updating them manually one by one?

Answer

Richard Berg picture Richard Berg · Jul 31, 2009

You can do this in Excel:

  1. Open the work items in Excel, via:
    • right click a query in Team Explorer -> open in Excel
    • multi-select some work items in a WIT result pane, then right click -> open in Excel
    • load Excel, use Team -> Import to load a predefined query
    • open a *.xls file that is already bound to TFS
  2. Make your bulk edits
  3. Click the Publish button on the Team ribbon

enter image description here

Full documentation: Managing work items in Excel (overview page; lots & lots of links inside)

You can bulk-edit in the web interface too

Windows command line:

REM make Martin Woodward fix all my bugs
tfpt query /format:id "TeamProject\public\My Work Items" | 
    tfpt workitem /update @ /fields:"Assigned To=Martin"

Powershell:

# make Bill & Steve happy
$tfs = tfserver -path . -all
$items = $tfs.wit.Query("
    SELECT id FROM workitems 
    WHERE [Created By] IN ('bill gates', 'steve ballmer')") | 
    % {
        $_.Open()
        $_.Fields["priority"].value = 1
        $_
    }
# note: this will be much faster than tfpt since it's only one server call
$tfs.wit.BatchSave($items)