Как использовать TFS PowerShell для получения списка наборов изменений и связанных рабочих элементов? - PullRequest
14 голосов
/ 15 декабря 2010

Я новичок в работе с командлетами PowerShell и TFS и пытаюсь получить список наборов изменений в пути к области и связанные с ними рабочие элементы.

Я дошел до списканаборы изменений с определенной даты:

Get-TfsItemHistory "$/Project/Branch" -Version “D01/12/10~” -Recurse 

, а также перечисление рабочих элементов с той же даты:

Get-TfsItemHistory "$/Project/Branch" -Version "D01/12/10~" -Recurse | %{ $_.workitems }

Каждый запрос возвращает одинаковое количество результатов, а второй запрос возвращает дубликаты рабочих элементов.Это выглядит многообещающе, поскольку существует множество наборов изменений для рабочих элементов, поэтому я полагаю, что не за горами объединение результатов.

Ответы [ 2 ]

12 голосов
/ 15 декабря 2010

Да, вы на правильном пути. Попробуйте это как способ просмотра рабочих элементов, связанных с набором изменений:

Get-TfsItemHistory "$/Project/Branch" -Version "D01/12/10~" -Recurse | 
    Select ChangesetId -exp WorkItems | 
    Format-Table Id,Title -GroupBy ChangesetId -Auto
2 голосов
/ 05 мая 2015

Использование Microsoft.TeamFoundation.Client просмотр https://stackoverflow.com/a/30047077/4051367

Использование

$ versionControlServer.QueryHistory

$vCSChangeSets = $versionControlServer.QueryHistory($locationToSearch, $latest, 0, $recursionType, $userName, $versionFrom, $versionTo, [int32]::MaxValue, $true ,$false, $false, $true) 
$TargetChangeSetChangeItems = @()  


$TargetChangeSetChangeItems = foreach ($vCSChangeSet in $vCSChangeSets) 
{   
    foreach ($vCSChange in $vCSChangeSet.Changes) 
    { 
        $vCSItem =  $vCSChange.Item 

        # MORE CODE HERE, OMMITTED
    }
}
...