由于权限问题,Azure Devops无法以编程方式创建服务挂钩
我正在使用RESTAPI为Azure DevOps上的项目设置服务挂钩(从这里开始:) 对于该组织中的同一用户,我已成功地从项目设置(从{organization}/{repo}/_settings/serviceHooks)创建了服务挂钩。这意味着我有权创建订阅挂钩 对于编程,我使用PAT对xxx组织的范围代码(读、写)(vs.code_写)进行授权。我已经尝试了完全访问PAT,但效果不太好 请求如下:由于权限问题,Azure Devops无法以编程方式创建服务挂钩,azure,azure-devops,hook,webhooks,azure-devops-rest-api,Azure,Azure Devops,Hook,Webhooks,Azure Devops Rest Api,我正在使用RESTAPI为Azure DevOps上的项目设置服务挂钩(从这里开始:) 对于该组织中的同一用户,我已成功地从项目设置(从{organization}/{repo}/_settings/serviceHooks)创建了服务挂钩。这意味着我有权创建订阅挂钩 对于编程,我使用PAT对xxx组织的范围代码(读、写)(vs.code_写)进行授权。我已经尝试了完全访问PAT,但效果不太好 请求如下: POST https://dev.azure.com/xxx/_apis/hooks/su
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/"
}
}
POSThttps://dev.azure.com/xxx/_apis/hooks/subscriptions?api-版本=5.0
标题:授权:基本
正文:{
“publisherId”:“tfs”,
“eventType”:“git.pullrequest.updated”,
“资源版本”:“1.0”,
“consumerId”:“webHooks”,
“consumerActionId”:“httpRequest”,
“发行人”包括:{
“通知类型”:“推送通知”,
“存储库”:”
},
“消费者权益”:{
“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
}
{
“$id”:“1”,
“innerException”:null,
“消息”:“用户'\\'没有编辑订阅的权限。”,
“typeName”:“System.ArgumentException,mscorlib”,
“typeKey”:“ArgumentException”,
“错误代码”:0,
“eventId”:0
}
由于权限问题,Azure Devops无法以编程方式创建服务挂钩
根据错误信息:
“用户“\”没有编辑文件的权限
订阅。”
您似乎没有编辑订阅的权限。我们知道,当事件发生时,将评估项目中所有已启用的订阅,并对所有匹配的订阅执行使用者操作
因此,我们应该拥有编辑订阅的权限。您可以需要“编辑订阅
”和“查看订阅
”来设置订阅。默认情况下,只有项目管理员具有这些权限
有关更多详细信息,请查看
希望这有帮助。您是如何发送请求的?你能分享密码吗?我用邮递员来请求。