首页 > 解决方案 > 使用 REST API 在 Azure DevOps 中获取所有组织

问题描述

我正在尝试检索我帐户中的所有组织,但在文档中,API 调用中始终需要一个组织。

https://dev.azure.com/{organization}/_apis/...

标签: restazureazure-devopsazure-devops-rest-api

解决方案


如果您加载当前登录页面,它会显示与您的帐户相关联的所有组织。我认为它必须以某种方式获取该信息。我捕获了网络流量,我相信您可以使用系统 API 调用获得所需的数据。但是,它可能会更改或不受支持,恕不另行通知,因此请自行决定使用。

您可以使用此 API 获取所需的信息:

Post https://dev.azure.com/{organization1}/_apis/Contribution/HierarchyQuery?api-version=5.0-preview.1

身体:

{
    "contributionIds": ["ms.vss-features.my-organizations-data-provider"],
    "dataProviderContext":
        {
            "properties":{}
        }
}

回复:

{
    "dataProviderSharedData": {},
    "dataProviders": {
        "ms.vss-web.component-data": {},
        "ms.vss-web.shared-data": null,
        "ms.vss-features.my-organizations-data-provider": {
            "organizations": [
                {
                    "id": "{redacted id}",
                    "name": "{organization1}",
                    "url": "https://{organization1}.visualstudio.com/"
                },
                {
                    "id": "{redacted id}",
                    "name": "{organization2}",
                    "url": "https://dev.azure.com/{organization2}/"
                }
            ],
            "createNewOrgUrl": "https://app.vsaex.visualstudio.com/go/signup?account=true"
        }
    } }

推荐阅读