VSTS Rest API environemnt ID不正确

时间:2016-10-04 00:23:34

标签: rest azure-pipelines-release-pipeline

我正在使用VSTS的REST API启动特定环境的发布。但是,检索环境和此类工作时,当我进行REST调用以实际启动部署时,我收到以下错误消息:

[DBG]: PS C:\Users\mmulhe200>> 
executeRequest : {"$id":"1","innerException":null,"message":"Environment with ID '16' is not valid. Valid environments have IDs 
'1288,1289'. Specify a valid environment and try 
again.","typeName":"Microsoft.VisualStudio.Services.ReleaseManagement.Data.Exceptions.InvalidRequestException, 
Microsoft.VisualStudio.Services.ReleaseManagement2.Data","typeKey":"InvalidRequestException","errorCode":0,"eventId":3000}
At C:\Users\mmulhe200\Desktop\VSTS release task\test\Untitled1.ps1:58 char:12
+     return executeRequest $request;
+            ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,executeRequest

有趣的是,REST操作的响应是检索发布定义,其环境返回如下:

...
"id": 16,
"name": "Environment 2",
"rank": 2,
...

事实上,在整个回复中,我无法在任何地方找到ID 1288和1289。有关为什么VSTS告诉我我的环境ID为16的任何想法是错误的,即使它是从他们的服务返回的是什么?

2 个答案:

答案 0 :(得分:0)

发布定义环境ID与发布环境ID不同,可能是问题吗?

确保您从_apis/release/releases/{releaseid}而不是_apis/release/definitions/{definitionid}

获取了ID

此外,https://www.visualstudio.com/en-us/docs/integrate/api/rm/releases#start-deployment-on-an-environment上的文档似乎完全忽略了触发部署到环境所需的内容。它对PATCH {"status":"inprogress"}说,但请求实际上需要是PATCH {"status":2}

答案 1 :(得分:0)

这是查看页面上的环境ID的方法。在工具提示或页面上显示它会很棒。这就是它所需要的。

步骤1打开镀铬检查工具

步骤2单击环境

步骤3获取相关ID

enter image description here