C # Vsts ReleaseManagement список одобряет и утверждает - PullRequest
1 голос
/ 28 октября 2019

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

Надеюсь, я все понял, спасибо!

1 Ответ

0 голосов
/ 30 октября 2019

Я нашел решение: используйте Deployment api

var deps = release != null ?
                await client.GetDeploymentsAsync(
                    Config.Project,
                    definitionId: rd.Id,
                    latestAttemptsOnly: true,
                    top: 1,
                    sourceBranch: Constants.BranchBase + branch)
                : null;
...