一种方法可能是转到项目设置,然后单击存储库,然后单击
- 检查其拥有的所有组,
- 读取每个组并确定哪些组有权删除存储库
- 然后进入该群组并查找成员
- 如果成员是用户:store/list/write-down(可能在 Excel 中)
- 否则,如果成员是组,则递归地在其中查找其可能拥有的所有用户
但这是一个相当手动的过程。我正在寻找一个可以查询的 azure CLI 或 REST API,它会返回结果。类似 SQL 的东西:查找repository=xyz 上的所有用户,其中permission=delete
目的是创建定期审核流程。
最佳答案
But that's quite a manual process. I am looking for a azure CLI or rest api on which I can query and it gives me back the results.
恐怕目前我们无法通过rest api实现它。
因为没有这样的 REST API 来设置版本控制权限(包括 git repo)。在我们的产品建议主论坛上有一个用户的声音:
Set version control permissions by REST API
您可以对此反馈进行投票并添加您的评论。当有足够多的社区对此反馈进行投票并添加评论时,产品团队成员将会认真对待此反馈。
即使我们有了这个 API,要完成它还有很长的路要走。首先,我们需要根据条件Deleterepository=Allow
遍历所有符合条件的群组和用户,然后从遍历结果中筛选出群组,根据筛选出的群组ID调用API即可获取组中的用户。最后,我们仍然需要合并那些重复的用户名。所以,这应该是一个很长的路要走。
希望这有帮助。
关于Azure DevOps,如何查找有权删除存储库的所有用户和组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58964195/