【发布时间】:2019-10-30 17:55:39
【问题描述】:
我正在尝试创建一个工具来自动启动多个构建管道以及部署管道的过程。 我已经成功构建了管道,但我在部署方面遇到了问题。 我可以获得部署定义和发布,但是使用此代码我只获得待处理的批准,同时我还想获得已经完成的批准和批准/取消 该工具希望加速 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();
希望我说清楚了,谢谢!
【问题讨论】:
标签: c# azure-pipelines-release-pipeline