DevOps Azure: вызов PATCH REST возвращает в конвейер освобождения (403) Запрещено - PullRequest
0 голосов
/ 13 марта 2019

Context

Я использую сценарий PowerShell Script с задачей Azure PowerShell (предварительная версия задачи 4. *), чтобы запустить самый последний выпуск определенного конвейера выпуска. После получения идентификатора последнего выпуска, а также идентификатора связанной среды через

GET https://vsrm.dev.azure.com/$azureDevOpsOrganizationName/$azureDevOpsProjectName/_apis/release/deployments?queryOrder=descending&`$top=1&definitionId=$azureDevOpsReleasePipelineId&definitionEnvironmentId=$azureDevOpsReleaseEnvironmentId&api-version=5.0

Я хочу сделать вызов PATCH REST, чтобы вызвать соответствующий выпуск через

PATCH https://vsrm.dev.azure.com/$azureDevOpsOrganizationName/$azureDevOpsProjectName/_apis/Release/releases/$lastDeploymentId/environments/$($lastDeploymentEnvironmentId)?api-version=5.0-preview.6

со следующим телом

$triggerMostRecentReleaseBody = @{
    comment = 'some comment'
    status = 2
    scheduledDeploymentTime = $null
}
$triggerMostRecentReleaseBodyJSON = $triggerMostRecentReleaseBody | ConvertTo-Json

Чтобы сделать эти вызовы REST, я включил токен OAuth для доступности в конвейере:

oauth

и получить токен с помощью $env:SYSTEM_ACCESSTOKEN в сценарии PowerShell.

Выпуск

Запрос GET прекрасно работает, но при выполнении вызова PATCH возвращает ошибку

(403) Запрещено

Итак, вопрос в том, как разрешить токену OAuth совершать подобные REST-вызовы?

1 Ответ

0 голосов
/ 13 марта 2019

Проблема заключается в том, что разрешения, относящиеся к токену OAuth, по умолчанию недостаточны для выполнения вызова PATCH.

Чтобы предоставить необходимые разрешения, добавьте Службу сборки коллекции проектов (xxx) пользователь Администраторы проекта группа:

add user

...