TFS Rest API;Не удалось выполнить обновление, когда доступ запрещен с помощью SYSTEM_ACCESSTOKEN - PullRequest
0 голосов
/ 18 октября 2019

У меня есть скрипт, который обновляет определение сборки TFS. Когда я использую SYSTEM_ACCESSTOKEN для аутентификации, происходит сбой с ошибкой

Invoke-RestMethod: {"$ id": "1", "innerException": null, "message": "TF215106: доступ запрещен. ПроектСлужба сборки коллекции ( имя коллекции ) нуждается в редактировании разрешений для определения сборки для определения сборки BuildID в командном проекте

Тот же сценарий работает для GET. Какие разрешения мне не хватает? Разрешить сценариям доступ к OAuth Token.is включен. Я попытался использовать PAT, и у меня возникает та же ошибка Работает, когда я предоставляю учетные данные

Я убедился, что учетная запись службы, под которой работает TFS, имеет разрешения на изменение определения сборки.

Вот код

$ url = "$ ($ env: SYSTEM_TEAMFOUNDATIONCOLLECTIONURI) $ env: SYSTEM_TEAMPROJECTID / _apis / build / definitions / $ ($ env: SYSTEM_DEFINITIONID)? Api-версия= 2.0 "

Не работает : $ Updatedefinition = Invoke-RestMethod -uri $ url -Method PUT -Body ($ definitionJSON) -ContentType" application / json "-Заголовки @ {Authorization = "Bearer $ env: SYSTEM_ACCESSTOKEN"}

Работает : $ Updatedefinition = Invoke-RestMethod -uri $ url -Credential $ CREDS -Method PUT -Body ($ definitionJSON)-ContentType "application / json"

...