我一直在尝试找出以编程方式获取特定 Git 存储库权限的方法。
在线提供的 TFS API 引用没有详细说明任何安全 API。但是,当您或从 Web 门户查看修改安全性时,这肯定是在 TFS 中完成的。
跟踪网络调用,我可以看到正在对以下 API 进行调用
http://tfsserver/tfs/DefaultCollection/[TeamProject]/_api/_security/DisplayPermissions?
__v=5&tfid=[PROJ_GUID]&permissionSetId=[PERMMISSIONSET_GUID]
&permissionSetToken=repositories/[REPOSITORY_GUID].
我已经推断出传递给上述 URL 的所有 GUID,但无法理解从哪里获取 GUID 以填充 PermissionSetId 参数。
查看网页,我可以看到从 gitRepositoryPermissionSet
中获取的值,但我找不到如何获取该值。
想知道是否有人可以帮助我理解这个参数。
最佳答案
早在 2015 年,还没有好的 API,但现在情况发生了变化。现在有一个完整的权限 REST api,可以使用 tfssecurity 并且 Azure-CLI 已扩展为具有查询和设置权限的能力。
我最近写了一篇探讨 Git 存储库权限的博文:
关于git - 以编程方式查询托管在 TFS 上的 Git 存储库的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28242491/