【问题标题】:How to use Release Definition REST API for VSTS?如何为 VSTS 使用发布定义 REST API?
【发布时间】:2017-05-25 11:13:46
【问题描述】:

我已经使用 API 版本“3.0-preview.1”成功地在我们的 TFS 2015 Update 3 上的 Prem 实例上使用了发布定义 API。但是自从我开始在 VSTS 上进行测试后,我就不断收到 404 错误提示

Page not found 和一大段 HTML。

我正在使用 PowerShell 调用 API。我正在使用个人访问令牌和备用凭据方法创建文档中提到的 API 请求。

https://fabfiber.vsrm.visualstudio.com/DefaultCollection/ff213d65-d61d-447c-b39d-d16f21b18364/_apis/release/definitions?api-version=3.0-preview.1

如果我遗漏了什么,谁能告诉我。

【问题讨论】:

  • 您实际使用的是哪个 URL?您应该将“fabfiber”替换为您的 VSTS 帐户名称,并将 GUID 替换为您自己的团队项目 ID 或名称
  • 我以与上述类似的方式创建了自己的 URL,即https://<myinstance.visualstudio.com>/DefaultCollection/<Project ID>/_apis/release/definitions?api-version=3.0-preview.1
  • 那么您在网址中缺少 .vsrm.,如 <myinstance>.vsrm.visualstudio.com ,如 documented
  • 谢谢.. 我明白了。但我想知道为什么他们有不同的发布定义 url。

标签: powershell azure-devops devops ms-release-management azure-devops-rest-api


【解决方案1】:

试试这个代码:

$vstsAccount = "[your vsts name]"
$user = "test"
$accessToken="[personal access token]"
$teamProject="[team project name]"
Function QueryWorkItem{
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$accessToken)))
 $uri="https://$vstsAccount.vsrm.visualstudio.com/defaultcollection/$teamProject/_apis/release/definitions?api-version=3.0-preview.1"
$result = Invoke-RestMethod -Uri $uri -Method Get -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
}

【讨论】:

  • 添加 vsrm 有效。但是你能解释一下添加这个的原因吗?有没有关于这个的文档?
  • 另外,这是否仅适用于 Release Management API?
  • 我得到了文档参考。我不知何故错过了它。从没想过会与其他 API 有所不同。
  • @AnkushGupta 参考Rest API文档(visualstudio.com/en-us/docs/integrate/api/rm/definitions),格式为https://{account}.vsrm.visualstudio.com/defaultcollection/{project}/_apis/release/definitions ?api-version={version}[&$expand={enum}]
【解决方案2】:
猜你喜欢
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-03
  • 2018-09-19
  • 1970-01-01
  • 2018-03-13
  • 2018-06-25
相关资源
最近更新 更多