我需要通过Azure DevOps的API来安排一个发布部署。
该版本正在等待批准,通过接口,我可以安排部署:

通过API没有任何选项可供选择(文档)。
我唯一的选择是approved、canceled、pending、reassigned、rejected、skipped或undefined。
因此,我试图修补发布环境本身(文档),将其更改为“计划”:
PATCH https://vsrm.dev.azure.com/jato-jaas/Services/_apis/Release/releases/{releaseId}/environments/{environmentId}?api-version=6.0-preview.6
{
"status": "scheduled",
"scheduledDeploymentTime": "2022-06-28T16:00:00Z",
"variables": {},
"comment": "Automated deployment"
}当我调用API时,我收到以下响应:Transitioning of stage from state 'InProgress' to state 'Scheduled' is not allowed.
我如何安排一个通过API等待批准的发布?我知道如何用时间表“开始”发布,但这不是我所需要的。
发布于 2022-06-28 15:40:40
好吧,我找到了解决办法。
您需要在不更改状态的情况下更改发布计划(这是没有意义的,但很有效)。
因此,您需要使用类似于以下JSON的JSON调用发布环境补丁API (https://vsrm.dev.azure.com/jato-jaas/Services/_apis/Release/releases/{releaseId}/environments/{environmentId}?api-version=6.0-preview.6):
{
"scheduledDeploymentTime": "2022-06-28T16:00:00Z",
"comment": "Automated deployment"
}您将收到propper 200响应,但在响应中根本没有提到计划的时间,但是如果您请求发布信息,您将在响应中找到预定的时间设置。
因此,调用GET https://vsrm.dev.azure.com/jato-jaas/Services/_apis/release/releases/{releaseId}?api-version=6.0,您将在环境数据(scheduledDeploymentTime)中找到它。

我相信这正是我所发现的这里,除了DevOps。
https://stackoverflow.com/questions/72788589
复制相似问题