在Azure DevOps Server 2022中获取组成员



我需要知道如何通过Azure DevOps Server 2022的REST API获取特定组的用户,即on-premise。我们将使用url 192.168.0.1作为示例,并使用DefaultCollection作为实践目的。我已经搜索了文档,但是当我试图在我的情况下应用它们时,它们不适合我,我得到404 Not Found。

现在我在做:

http://192.168.0.1:8080 tfs/_apis/groupentitlements ? api版本= 6.0 -preview.1http://192.168.0.1:8080 tfs/DefaultCollection _apis/groupentitlements ? api版本= 6.0 -preview.1

似乎都不起作用。他们抛出404

我不知道这是否与它有关,但我在这个网站上看到一个"vsaex"前缀用于组权限,"vssps"对于图形和"状态"所以我尝试了以下方法:http://vsaex.192.168.0.1:8080/tfs/_apis/groupentitlements?api-version=6.0-preview.1http://vsaex.192.168.0.1:8080 tfs/DefaultCollection _apis/groupentitlements ? api版本= 6.0 -preview.1

同样,两种方法似乎都不起作用。

我也尝试了不同的api版本,或者没有使用它们中的任何一个。我使用REST API的其他部分没有任何问题,例如:我可以获得一个集合的项目,按项目的团队等,它们工作得很好。

您正在查看错误的api。组授权用于管理Azure DevOps服务的许可证,在Azure DevOps Server的本地版本中不存在。

您正在寻找安全api。

经过一番研究,我发现这个调用可以得到我正在搜索的内容。

- http://{server:port}/tfs/{collection}/_api/_identity/ReadGroupMembers?scope={groupId}&readMembers=true&api-version=6.0
you can do that.

如果你需要groupId,你可以从:

- http://{server:port}/tfs/{collection}/_apis/identities?searchFilter=General&filterValue={group
Name}&api-version=6.0

如果你有多个相同的组,在响应中搜索你想要的组在providerDisplayName属性->[{ProjectName}] {组名称}在那里你会得到groupId,从中你可以得到组的成员

奇怪的是你必须使用_api/_identity而不是_api/identities。

最新更新