使用 VSTS REST API 设置团队或用户权限

Setup team or users permissions with VSTS REST API

是否可以通过 VSTS Rest 设置团队或用户权限API?

我只找到了很旧的帖子,并且没有关于该主题的任何更新。 在 API 页面上,似乎可以为用户或组删除它们,但不会列出特定用户的权限或添加一些权限。

https://docs.microsoft.com/en-us/rest/api/vsts/security/permissions/remove%20permission?view=vsts-rest-4.1

REST API 没有记录,但是您可以通过 Fiddler 等工具或在 Chrome 浏览器中按 F12 来跟踪它然后 select Network.

例如我可以使用下面的 REST API 在下面的示例中为我的团队 Team0416Delete team project 权限设置为 Allow

POST https://{account}.visualstudio.com/{Project}/_api/_security/ManagePermissions?__v=5

请求正文:

{"updatePackage":"{\"IsRemovingIdentity\":false,\"TeamFoundationId\":\"18de9da7-7edc-4c1d-88e0-e2420020e6dd\",\"DescriptorIdentityType\":\"Microsoft.TeamFoundation.Identity\",\"DescriptorIdentifier\":\"S-1-9-1551374245-717605811-4129483085-2927145651-87449592-1-853620709-4198499904-2869176592-1434840851\",\"PermissionSetId\":\"52d39943-cb85-4d7f-8fa8-c6baac873819\",\"PermissionSetToken\":\"vstfs:///Classification/TeamProject/b3cbc52a-22f6-4de9-ae78-b2b305365ff8\",\"RefreshIdentities\":false,\"Updates\":[{\"PermissionId\":1,\"PermissionBit\":4,\"NamespaceId\":\"52d39943-cb85-4d7f-8fa8-c6baac873819\",\"Token\":\"$PROJECT:vstfs:///Classification/TeamProject/b3cbc52a-22f6-4de9-ae78-b2b305365ff8:\"}],\"TokenDisplayName\":null}"}

The key points:

"Updates\":[{\"PermissionId\":1, in the request body:

--> 0 means Not set,1 means Allow, 2 means Deny

此外,您可以使用 Permission Command 修改用户访问控制列表 (ACL) 并显示受版本控制的项目的授权设置。

并且除了修改组和用户的权限外,您还可以使用 TFSSecurity command-line tool 在 TFS 中创建、修改和删除组和用户。