尝试通过 PowerShell 创建新工作项时,项目集合获取服务不返回任何值
Project collection get service returning no value when trying to create a new work item via PowerShell
我正在尝试使用 powershell 和 tfs 创建一个新的工作项类型 api。
这是我正在尝试 运行 创建新工作项类型的脚本
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Client")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Build.Client")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Build.Common")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.WorkItemTracking.Client")
[string] $tfsCollectionUrl = "http://r2-09-tfs:8080/tfs/DefaultCollection"
$teamProjectCollection = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($tfsCollectionUrl)
$ws = $teamProjectCollection.GetService([type]"Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore")
$proj = $ws.Projects["TestTeamProject"]
$wit = $proj.WorkItemTypes["Task"]
$workitem = $wit.NewWorkItem()
$workItem.Title = "Sample Task Title 2"
$workItem.Description = "Sample Description"
$workitem.AreaPath = "TestTeamProject"
$workitem.IterationPath = "TestTeamProject"
$workItem.Save()
Write-Host "The TFS work item number is: " $workItem.Id
当我 运行 这个脚本时,收到一个错误,提示无法索引到空数组。在 $proj = $ws.Projects["TestTeamProject"]
我的猜测是 workitemstore 变量 $ws 为空,我是否遗漏了该行中的任何内容?
[void]System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Client")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Build.Client")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Build.Common")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.WorkItemTracking.Client")
[string] $tfsCollectionUrl = "http://r2-09-tfs:8080/tfs/DefaultCollection"
$teamProjectCollection = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($tfsCollectionUrl)
[Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore]$ws = $teamProjectCollection
$proj = $ws.Projects["TestTeamProject"]
$wit = $proj.WorkItemTypes["Task"]
$workitem = $wit.NewWorkItem()
$workItem.Title = "Sample Task Title 2"
$workItem.Description = "Sample Description"
$workitem.AreaPath = "TestTeamProject"
$workitem.IterationPath = "TestTeamProject"
$workItem.Save()
Write-Host "The TFS work item number is: " $workItem.Id
将 $ws 类型更改为 Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore 类型并取消了 GetService,现在工作正常...
我正在尝试使用 powershell 和 tfs 创建一个新的工作项类型 api。
这是我正在尝试 运行 创建新工作项类型的脚本
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Client")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Build.Client")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Build.Common")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.WorkItemTracking.Client")
[string] $tfsCollectionUrl = "http://r2-09-tfs:8080/tfs/DefaultCollection"
$teamProjectCollection = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($tfsCollectionUrl)
$ws = $teamProjectCollection.GetService([type]"Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore")
$proj = $ws.Projects["TestTeamProject"]
$wit = $proj.WorkItemTypes["Task"]
$workitem = $wit.NewWorkItem()
$workItem.Title = "Sample Task Title 2"
$workItem.Description = "Sample Description"
$workitem.AreaPath = "TestTeamProject"
$workitem.IterationPath = "TestTeamProject"
$workItem.Save()
Write-Host "The TFS work item number is: " $workItem.Id
当我 运行 这个脚本时,收到一个错误,提示无法索引到空数组。在 $proj = $ws.Projects["TestTeamProject"]
我的猜测是 workitemstore 变量 $ws 为空,我是否遗漏了该行中的任何内容?
[void]System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Client")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Build.Client")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Build.Common")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.WorkItemTracking.Client")
[string] $tfsCollectionUrl = "http://r2-09-tfs:8080/tfs/DefaultCollection"
$teamProjectCollection = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($tfsCollectionUrl)
[Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore]$ws = $teamProjectCollection
$proj = $ws.Projects["TestTeamProject"]
$wit = $proj.WorkItemTypes["Task"]
$workitem = $wit.NewWorkItem()
$workItem.Title = "Sample Task Title 2"
$workItem.Description = "Sample Description"
$workitem.AreaPath = "TestTeamProject"
$workitem.IterationPath = "TestTeamProject"
$workItem.Save()
Write-Host "The TFS work item number is: " $workItem.Id
将 $ws 类型更改为 Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore 类型并取消了 GetService,现在工作正常...