Azure Devops Невозможно создать сервисный хук программно из-за разрешения - PullRequest
1 голос
/ 20 мая 2019

Я настраиваю сервисную ловушку для проекта в DevOps Azure с помощью Rest API (отсюда: https://docs.microsoft.com/en-us/rest/api/azure/devops/hooks/subscriptions/create?view=azure-devops-rest-5.0#security)

Для того же пользователя в этой организации я успешно создал сервисную ловушку из проектанастройки (от https://dev.azure.com/{organization}/{repo}/_settings/serviceHooks). Так что это означает, что я имею право создать хук подписки.

Для программирования я использовал PAT для авторизации с кодом области (чтение, запись) (vs.code_write)для организации ххх. Я пытался использовать PAT с full_access, но он также не работал.

Вот запрос:

POST https://dev.azure.com/xxx/_apis/hooks/subscriptions?api-version=5.0

Header: Authorization: Basic <Base64PAT>
Body: {
  "publisherId": "tfs",
  "eventType": "git.pullrequest.updated",
  "resourceVersion": "1.0",
  "consumerId": "webHooks",
  "consumerActionId": "httpRequest",
  "publisherInputs": {
    "notificationType": "PushNotification",
    "repository": "<repo_id>"
  },
  "consumerInputs": {
    "url": "https://my/receiver/url/"
  }
}

Вот ответ ОШИБКА:

{
    "$id": "1",
    "innerException": null,
    "message": "The user '<user_id>\\<email>' does not have permission to edit a subscription.",
    "typeName": "System.ArgumentException, mscorlib",
    "typeKey": "ArgumentException",
    "errorCode": 0,
    "eventId": 0
}

1 Ответ

0 голосов
/ 22 мая 2019

Azure Devops Невозможно создать служебный хук программно из-за разрешения

По информации об ошибке:

"Пользователь" \ "не имеет прав на редактирование подписки. "

Кажется, у вас нет прав на редактирование подписки. Как мы знаем, когда происходит событие, все включенные подписки в проекте оцениваются, и действие потребителя выполняется для всех соответствующих подписок .

Итак, у нас должно быть разрешение на редактирование подписки. Для настройки подписки вам могут понадобиться «Edit Subscriptions» и «view subscriptions». По умолчанию только администраторы проекта имеют эти разрешения.

Проверьте Q & A для более подробной информации.

Надеюсь, это поможет.

...