如何使用 Microsoft.VisualStudio.Services.WebApi 查询已完成的发布?

How can I query for completed releases using Microsoft.VisualStudio.Services.WebApi?

我可以使用

检索 Azure Devops 上的发布列表

var releases = await releaseClient.GetReleasesAsync(project: projectName, definitionId: releaseDefinition.Id);

所有版本都显示状态为活动。但是在 devops 门户中,我看到一些有待处理的任务(批准)。如何检查所有阶段(环境)是否已完成?

  • 如何检查所有阶段是否已完成?

GetReleasesAsync 会列出所有的发布状态(abandoned、active、draft、undefined)。如果您想检查每个版本的阶段状态。您可能需要查看每个特定版本的 Release Environments

通过 GetReleasesAsync(ProjectName, releaseDefinitionId) 获取所有版本后,您可以使用 GetReleaseAsync(string projectName, int releaseId) 通过版本 ID 获取特定版本的详细版本环境信息。如果某个阶段正在等待批准,状态将显示 "inProgress"

对于下面的简单示例。

 var releases =  releaseClient.GetReleasesAsync(Project, releaseDefinitionId).Result;

 foreach(var release in releases)
 {
     var releaseResult = releaseClient.GetReleaseAsync(Project, release.Id).Result;

     foreach (var en in releaseResult.Environments)
     {
         Console.WriteLine(en.Status);
     }
  }