Назад | Перейти на главную страницу

Как изменить элемент TFS с помощью Powershell

Я подключился к VSTS Server, используя:

$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

Итак, как я могу изменить значение vaule с «фиксированного» на «проверенное»?

Я иду ответить на свой вопрос. После долгого исследования я обнаружил, что субстатус может быть вызван:

$closebug.fields[54]

Чтобы изменить значение с «фиксированного» на «разрешенное», используйте:

$closebug.fields[54].value="resolved"

Затем обновите изменение:

$closebug.save()

Я не совсем понимаю, почему это работает, и думаю, что должен быть лучший способ сделать это. Приветственные комментарии.