【发布时间】:2019-05-20 11:16:22
【问题描述】:
我正在使用 Rest API 为 Azure DevOps 上的项目设置服务挂钩(来自此处: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 为 xxx 组织使用范围代码(读、写)(vs.code_write)进行授权。我已尝试使用带有 full_access 的 PAT,但效果不佳。
这是请求:
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
}
【问题讨论】:
-
您是如何发送请求的?可以分享一下代码吗?
-
我使用邮递员提出请求。
标签: azure azure-devops hook webhooks azure-devops-rest-api