如何向本地托管的 Azure Devops Server pats API 发出请求?

问题描述 投票:0回答:1

我正在尝试通过 Restful API 在我的 Azure Devops 服务器上创建 PAT,如下所述:

https://learn.microsoft.com/en-us/rest/api/azure/devops/tokens/pats/create?view=azure-devops-rest-7.0

我可以访问我的 Azure Devops Server 实例上的 PAT 创建屏幕。

我可以访问托管的 Azure Devops Server 实例下的任何其他 API,但

tokens/pats
允许我以编程方式创建 PAT 的 API 除外。

例如,这很好用:

Invoke-WebRequest -Method Get -UseDefaultCredentials -ContentType Application/JSON `
-Uri "$myAzDOServer/_apis/projects?api-version=7.0-preview.1"

给了我一堆关于我的项目的不错的 json。

这不:

Invoke-WebRequest -Method Post -UseDefaultCredentials -ContentType Application/JSON `
-Uri "$myAzDOServer/_apis/tokens/pats?api-version=7.0-preview.1" `
-Body ([PSCustomObject]@{
  displayName = "test_token"
  scope = "app_token"
  validTo = (Get-Date (Get-Date).AddDays(1) -Format "o") 
  allOrgs = $false
} | ConvertTo-Json)

它总是返回 403。

"The requested operation is not allowed."

谷歌搜索后发现,有一些故事需要对这个特定的 API 使用不同的令牌,但使用托管的 AzDO 服务器实例和托管的 AD 来实现这一点的确切方法还非常不清楚。

编辑:我注意到我无法查看任何 Azure Devops Server 版本的 API 文档,只能查看 Azure Devops Services(云版本) - https://learn.microsoft.com/en-us/rest/api/azure /devops/tokens/pats/create?view=azure-devops-rest-7.0 - 这是否意味着 MS 在托管的 Azure Devops 服务器上不支持此 API?

如有任何帮助,我们将不胜感激。

powershell authentication tfs active-directory azure-devops-rest-api
1个回答
0
投票

恐怕 PAT 相关的 Rest API 不支持在 Azure DevOps On-Prem 服务器中使用。

当我们在Rest API文档中选择Azure DevOps Server版本时,它将显示警告:您已被重定向到此页面可用的最新产品版本。

例如:

enter image description here

这意味着 Rest API 不支持在 Azure DevOps On-Prem 服务器中使用。它只能在 Azure DevOps 服务中使用。

我完全理解您的要求。您可以在网站开发者社区提交建议票来报告此功能

© www.soinside.com 2019 - 2024. All rights reserved.