【问题标题】:How to use TFS PowerShell to get list of changesets and associated work items?如何使用 TFS PowerShell 获取变更集和相关工作项的列表?
【发布时间】:2011-05-26 02:06:51
【问题描述】:

我是 PowerShell 和 TFS cmdlet 的新手,我正在尝试检索区域路径中的变更集列表及其相关工作项。

我已经列出了自某个日期以来的变更集:

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

并列出自同一日期以来的工作项:

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

每个查询返回相同数量的结果,第二个查询返回重复的工作项。这似乎很有希望,因为工作项有很多变更集,所以我认为我离合并结果不远了。

【问题讨论】:

  • Get-TfsItemHistory cmdlet 的模块是什么?
  • @Kiquenet 这是 Team Foundation Server Power Tools;开箱即用,但可在此处获取:marketplace.visualstudio.com/…。选择与您的实例匹配的版本。

标签: powershell tfs


【解决方案1】:

是的,你在正确的轨道上。尝试使用此方法查看与变更集关联的工作项:

Get-TfsItemHistory "$/Project/Branch" -Version "D01/12/10~" -Recurse | 
    Select ChangesetId -exp WorkItems | 
    Format-Table Id,Title -GroupBy ChangesetId -Auto

【讨论】:

  • 谢谢,这给了我需要的数据。有没有办法在每个变更集的一行中返回它,即“ChangesetId, Owner, CreationDate, Comment, (workitem)Id, Title”?目前它分部分发布。
  • 当然,去掉-GroupBy 并只指定Format-Table ChangesetId, Ownder, CreationDate, Comment, Id, Title -auto,但要保留很多东西要放在一行中。您可能需要扩大控制台或使用Format-Table ... -Auto | Out-String -Width 256
  • 在执行这个命令时我得到"Unable to determine the source control server"
  • 要么在映射到 TFS 团队项目的本地目录中执行命令。我认为这个命令 IIRC 上还有一个 Server 参数。如果是这样,那么您可以通过该参数指定服务器。
  • deurell.github.io/articles/… 使用QueryHistory 获取工作项列表。
【解决方案2】:

使用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
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-25
    • 2019-08-29
    • 2011-05-27
    • 2014-10-15
    • 2013-01-01
    • 1970-01-01
    • 2019-09-08
    • 2013-01-30
    相关资源
    最近更新 更多