我正在使用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的任何想法是错误的,即使它是从他们的服务返回的是什么?
答案 0 :(得分:0)
发布定义环境ID与发布环境ID不同,可能是问题吗?
确保您从_apis/release/releases/{releaseid}
而不是_apis/release/definitions/{definitionid}
此外,https://www.visualstudio.com/en-us/docs/integrate/api/rm/releases#start-deployment-on-an-environment上的文档似乎完全忽略了触发部署到环境所需的内容。它对PATCH {"status":"inprogress"}
说,但请求实际上需要是PATCH {"status":2}
答案 1 :(得分:0)