Программно удалить [постоянно] рабочий элемент TFS - PullRequest
1 голос
/ 03 октября 2011

Хотя я знаю, что есть инструмент командной строки для постоянного удаления рабочего элемента TFS. (например, Как удалить рабочий элемент с Team Foundation Server )

Кто-нибудь был в состоянии выполнить то же действие программно с помощью DLL-библиотек API TFS 2010?

Ответы [ 2 ]

1 голос
/ 03 октября 2011

Shai Raiten писал об этом здесь , где он использует DestroyWorkItems(ids).

Желательно, чтобы вы продолжали проявлять особую осторожность в своей реализации, так как это может серьезно испортитьваша установка.Можно утверждать, что создание такого инструмента отклоняется от лучших практик.

0 голосов
/ 22 ноября 2015

Вы также можете использовать PowerShell для массового удаления рабочих элементов :

Скопируйте и вставьте приведенный ниже скрипт в файл PowerShell (с .ps1 расширение), обновите значения переменных, указанные в списке № 4 ниже и запустите команду с машины, на которой установлен инструмент witadmin (Обычно доступно после визуальной установки студии). открыто Окно командной строки PowerShell и выполнить скрипт. Примечание. Учетная запись, работающая по сценарию, указанному ниже, должна иметь права доступа администратора группы или администратора собрания.

########TFS Work Items Bulk Destroy Automation Script##########
#Notes:
#1) This script requires to setup file/folder path, validate the file/folders path before running the script
#2) start the powershell window as Administrator and run the script
#3) This script requires share and admin access on the destination server, make sure your account or the account under which script is
#    executing is member of admin group on the destination server
#4) Update following:
#   4.1: $CollectionURL
#   4.2: $WitAdmin tool location
        # For VS 2015, Default location is C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE
        # For VS 2013, Default location is C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE
#   4.3: $WI_List
#   4.4: $logfile
####################

$CollectionURL = "http://tfs:8080/tfs/CollectionName"
$WitAdminLocation = "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE"
$WI_List =  Get-Content "C:\WI_List.txt"
$logfile="C:\log.txt"
$ExecutionStartTime = Get-Date
$WICount = 0
"## Starting WI Destroy @ $ExecutionStartTime ##"| Out-File $logfile -Append
"Collection URL: $CollectionURL" | Out-File $logfile -Append
foreach ($WIID in $WI_List)
    {
        CD $WitAdminLocation
        .\witadmin destroywi /collection:$CollectionURL /id:$WIID /noprompt
        "WI ID: $WIID Destroyed" | Out-File $logfile -Append
        $WICount = $WICount + 1
        Write-Host "$WICount Work Items Deleted"
    }

$ExecutionEndTime = Get-Date
"## WI Destroy Command Completed @ $ExecutionEndTime ##"| Out-File $logfile -Append

$TotalExecutionTime = $ExecutionEndTime - $ExecutionStartTime

"Total Work Items Deleted: $WICount"   | Out-File $logfile -Append

" Total Execution Time: $TotalExecutionTime"  | Out-File $logfile -Append

##End of script##
...