我正在尝试通过 Restful API 在我的 Azure Devops 服务器上创建 PAT,如下所述:
我可以访问我的 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?
如有任何帮助,我们将不胜感激。
恐怕 PAT 相关的 Rest API 不支持在 Azure DevOps On-Prem 服务器中使用。
当我们在Rest API文档中选择Azure DevOps Server版本时,它将显示警告:您已被重定向到此页面可用的最新产品版本。
例如:
这意味着 Rest API 不支持在 Azure DevOps On-Prem 服务器中使用。它只能在 Azure DevOps 服务中使用。
我完全理解您的要求。您可以在网站开发者社区提交建议票来报告此功能