![如何使用 Powershell 修改 TFS 项](https://linux22.com/image/561318/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20Powershell%20%E4%BF%AE%E6%94%B9%20TFS%20%E9%A1%B9.png)
我使用以下方式连接到 VSTS 服务器:
$teamProjectCollection = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection("http://wonderful01:8080")
$ws = $teamProjectCollection.GetService([type]"Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore")
$closebug=$ws.getworkitem(801089)
之后我运行$closebug
,并得到了我需要修改的项目之一:
Value : Fixed
OriginalValue : Fixed
FieldDefinition : Microsoft.TeamFoundation.WorkItemTracking.Client.FieldDefinition
Id : 10001
Name : Substatus
ReferenceName : Microsoft.SQL.Substatus
IsDirty : False
IsEditable : True
IsComputed : False
IsRequired : True
AllowedValues : {Verification Not Needed, Verified}
HasAllowedValuesList : True
IsLimitedToAllowedValues : True
ProhibitedValues : {}
HasPatternMatch : False
Status : InvalidListValue
IsValid : False
WorkItem : Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem
那么我怎样才能将值从“固定”更改为“已验证”?
答案1
我来回答我的问题。经过长时间的调查,我发现可以通过以下方式调用 substatus:
$closebug.fields[54]
要将值从“fixed”更改为“resolved”,请使用:
$closebug.fields[54].value="resolved"
然后更新更改:
$closebug.save()
我不太理解为什么这样做有效,我认为应该有更好的方法。欢迎评论。