c# - C# Vsts ReleaseManagement 列表批准和批准
问题描述
我正在尝试创建一个工具来自动启动多个构建管道以及部署管道的过程。我已经成功构建了管道,但我在部署方面遇到了问题。我可以获得部署定义和发布,但是使用此代码我只能获得待定批准,而我还想获得已经完成的批准并批准/取消这个工具想要加速 devops 流程,因为我们正在触发构建和部署来自网站(我们批准并部署了每个管道,我们得到了很多)
var client = Connection.GetClient<ReleaseHttpClient2>();
var releaseDefs = await client.GetReleaseDefinitionsAsync2(Config.Project);
var ret = new List<ReleasePipelineModel>();
foreach(var rd in releaseDefs)
{
var releases = await client.GetReleasesAsync2(
Config.Project,
definitionId: rd.Id,
top: 1,
sourceBranchFilter: Constants.BranchBase + branch
);
var release = releases.FirstOrDefault();
var stages = release != null ?
await client.GetApprovalsAsync2(
Config.Project,
releaseIdsFilter: new[] { release.Id }
)
: null;
ret.Add(new ReleasePipelineModel(rd)
{
LastRelease = release,
Stage = stages?.FirstOrDefault()
});
}
return ret.OrderBy(r => r.Name).ToList();
我希望我清楚,谢谢!
解决方案
我找到了解决方案:使用 Deployment api
var deps = release != null ?
await client.GetDeploymentsAsync(
Config.Project,
definitionId: rd.Id,
latestAttemptsOnly: true,
top: 1,
sourceBranch: Constants.BranchBase + branch)
: null;
推荐阅读
- java - 回收视图适配器我如何在单击时突出显示单个项目
- apache-kafka - Debezium-不包含连接器类型
- angular - 表格排序实现
- testing - 无法访问 jmeter 循环内的变量
- assembly - 为什么我的冒泡排序不适用于内联汇编?
- python - 无法计算 Pandas 中两个数据框之间列的 Spearman 系数
- javascript - 滚动条是使用 jscrollpane.js 设计的。但是,当我在侧边栏上使用它时,我看不到屏幕
- typescript - 如何使用泛型在 TypeScript 中表示对象迭代?
- php - Laravel 排序子关系集合
- c# - c#转换泛型继承为基返回null