git - 以编程方式查询托管在 TFS 上的 Git 存储库的权限

标签 git tfs azure-devops tfs-sdk

我一直在尝试找出以编程方式获取特定 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/

相关文章:

azure - 如何获取 azure 管道的上次运行 ID?

基于输出结果的 Azure Pipeline 任务(通过或失败)

Git 和 Rails : ignore database. yml

c# - 如何处理 TFS 中的 DLL 引用?

git - 带有两个 git 存储库的 Jenkinsfile

tfs - 删除 TFS 中的分支关系

c# - TFS 通过名称获取用户

powershell - 将 SSL 自动化任务添加到管道

git - ClearCase 与 Git 版本控制

java - CI 构建无法识别 JUnit 和其他依赖项