Я пытаюсь установить AssignedTo в сценарии PowerShell, используя REST API. У пользователя уже есть несколько назначенных рабочих элементов, и он находится в системе несколько месяцев. Я пробовал использовать отображаемое имя, адрес электронной почты (такой же, как upn) и ссылку на удостоверение личности. Все дает тот же результат:
Invoke-WebRequest: {"$ id": "1", "customProperties": {"ReferenceName": "System.AssignedTo"}, "innerException": null, "message ":" Значение идентификатора 'xxx@xxx.com' для поля 'Assigned To' является неизвестным идентификатором. "," TypeName ":" Microsoft.TeamFoundation.WorkItemTracking.Server.WorkItemFieldInvalidException, Microsoft.TeamFoundation.WorkItemTracking.Server "," typeKey ":" WorkItemFieldInvalidExce
Я использую следующий сценарий:
$tfsToken = "MYPAT"
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($tfsToken)"))
$defaultColletion = "default_Collection"
$project = "Agile"
$childID = "63573"
$identityUpn = "xxx@xxx.com"
$childuri = ("http://tfs:8080/tfs/" + $defaultColletion + "/" + $project + "/_apis/wit/workitems?ids=" + $childID + "&expand=relations&api-version=5.0")
$header = @{authorization = "Basic $token"}
$childresult = Invoke-WebRequest -Uri $childuri -Method Get -Headers $header -ContentType "application/json-patch+json"
$childObj = $childresult.Content | ConvertFrom-Json
$updUrl = ($childObj.value.url + "?api-version=5.0")
$ownerUpd = @{}
$ownerUpd.Add("path","/fields/System.AssignedTo")
$ownerUpd.Add("op","add")
$ownerUpd.Add("value",$identityUpn)
$json = ConvertTo-Json @($ownerUpd) -Depth 5
$result = Invoke-WebRequest -Uri $updUrl -Headers $header -Method Patch -Body $json -ContentType "application/json-patch+json"