Как отформатировать поле рабочего элемента TFS AssignedTo с помощью PowerShell



Я использую TFS 2012 Power Tools и PowerShell для отображения рабочих элементов, содержащих наборы изменений, которые изменили исходные файлы ниже заданного каталога в течение последних 120 дней. С большим количеством хорошей помощи от StackOverflow я нахожу рабочие элементы и отображаю их следующим образом:



PS> $items = Get-TfsItemHistory $/Somewhere -R -All -Version "D$((Get-Date).AddDays(-120).ToString('d'))~" | select ChangesetId -ExpandProperty WorkItems | Sort-Object -Unique Id
PS> $items | format-table


Это выглядит довольно хорошо, например, вот начало вывода:



Id    State    AssignedTo    AreaPath            Title
-- ----- ---------- -------- -----
32604 Closed Harald Han... ClientDomainNav Change to new address space


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



PS> $items | format-table AreaPath, State

AreaPath State
-------- -----
KCS-ClientDomainNav Closed


Но это не так:



PS > $items | format-table AssignedTo, State

AssignedTo State
---------- -----
Closed


Я, должно быть, пропустил что-то тривиальное, но (как относительный новичок в PowerShell и TFS PowerTools) я не вижу, что это такое. Кто-нибудь может помочь?

534   1  

1 ответ:

Свойство 'AssignedTo' является scriptproperty, вычисляемым во время выполнения из файла пользовательского формата powershell Microsoft.TeamFoundation.PowerTools.PowerShell.format.ps1xml.

Значение берется из:

 $_.Fields[[Microsoft.TeamFoundation.WorkItemTracking.Client.CoreField]::AssignedTo].Value

Тогда я думаю (я не могу протестировать его, потому что у меня нет источника TF-сервера ), что вам нужно сделать:

$items | format-table @{n="AssignedTo";e={$_.Fields[[Microsoft.TeamFoundation.WorkItemTracking.Client.CoreField]::AssignedTo].Value}} , State

Comments

    Ничего не найдено.