Я пробовал много способов обойти эту ошибку, я создал PAT из своей учетной записи VSTS и включил это в скрипт. Однако вызов API REST возвращает сообщение «Удаленный сервер возвратил ошибку: (400) неверный запрос».
Используя тот же PAT, я получаю информацию из VSTS, используя метод GET, но он не создает рабочий элемент.
Я предоставляю аутентификацию, выполнив шаги
$Creds = [Text.Encoding]::ASCII.GetBytes(":$Token")
$Creds = [System.Convert]::ToBase64String($Creds)
$Headers = @{
Authorization = ("Basic {0}" -f $Creds)
}
и прохождение остальных, следуя шагам
Invoke-RestMethod -Uri $Uri -Method POST -Headers $Headers -Body $Body -ContentType $ContentType
Тело получает свои значения из CSV и хранится в $ values
foreach ($value in $values)
{
$PBIName = $value.Name
$Resource = $value.Resource
$Body = "[
{
`"op`": `"add`",
`"path`": `"/fields/System.Title`",
`"value`": `"$($PBIName)`"
}
{
`"op`": `"add`",
`"path`": `"/fields/System.AreaPath`",
`"value`": `"InfraEng\DCO`"
}
{
`"op`": `"add`",
`"path`": `"/fields/System.IterationPath`",
`"value`": `"InfraEng`"
}
{
`"op`": `"add`",
`"path`": `"/fields/System.AssignedTo`",
`"value`": `"$($Resource)`"
}]"
| ConvertTo-Json
и URI выглядит следующим образом
$ Uri = "https://[xxxx].visualstudio.com/InfraEng/_apis/wit/workitems/`$product элемент журнала невыполненных работ? Api-версия = 1.0"
когда я пытаюсь перехватить ответ при запуске Invoke-RestMethod, я получаю следующее
IsMutuallyAuthenticated: False
Файлы cookie: {VstsSession =% 7B% 22PersistentSessionId% 22% 3A% 2248171d3c-4c0f-413f-9143-59e6e50047c3% 22% 2C% 22PendingAuthenticationSessionId% 22% 3A% 22
00000000-0000-0000-0000-000000000000% 22% 2C% 22CurrentAuthenticationSessionId% 22% 3A% 2200000000-0000-0000-0000-000000000000% 22% 7D}
Заголовки: {Pragma, X-TFS-ProcessId, Strict-Transport-Security, ActivityId ...}
SupportsHeaders: True
ContentLength: 373
ContentEncoding:
ContentType: application / json; кодировка = UTF-8
Набор символов: utf-8
Сервер:
Последнее изменение: 9/9/2019 9:35:03
StatusCode: BadRequest
StatusDescription: Bad Request
ProtocolVersion: 1.1
ResponseUri: https://[xxxx].visualstudio.com/InfraEng/_apis/wit/workitems/$product элемент журнала ожидания? Api-version = 1.0
Метод: ПОСТ
IsFromCache: False