Я пытаюсь создать инструмент, который автоматизирует процесс запуска нескольких сборочных конвейеров, а также конвейеров развертывания. Я преуспел с конвейерами сборки, но у меня есть проблемы с развертываниями. Я могу получить определения развертываний и выпуск, но с этим кодом я получаю только ожидающие утверждения , в то время как я также хочу получить уже выполненные утверждения и одобрить / отменить. Этот инструмент хочет ускорить процесс 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();
Надеюсь, я все понял, спасибо!