2

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... Client\Domain\Nav   Change to new address space

ただし、フィールドのサブセットだけを表示しようとすると、AssignedTo フィールドを表示できません。これで結構です:

PS> $items | format-table AreaPath, State

AreaPath                  State
--------                  -----
KCS-Client\Domain\Nav     Closed

しかし、これはそうではありません:

PS > $items | format-table AssignedTo, State

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

些細なことを見落としていたに違いありませんが、(PowerShell と TFS PowerTools の両方に比較的慣れていないため) それが何かわかりません。誰でも助けることができますか?

4

1 に答える 1

1

プロパティ ' AssignedTo' は、scriptproperty実行時にMicrosoft.TeamFoundation.PowerTools.PowerShell.format.ps1xmlPowerShell カスタム フォーマット ファイルから評価されます。

値は次から取得されます。

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

次に、次のことを行う必要があると思います (TF Server ソースがないため、テストできません)。

$items | format-table @{n="AssignedTo";e={$_.Fields[[Microsoft.TeamFoundation.WorkItemTracking.Client.CoreField]::AssignedTo].Value}} , State
于 2013-09-17T08:32:41.380 に答える