Exemple #1
0
        protected async Task RunViaBuilds(ITeamCity teamCity, Output output, Builds builds)
        {
            var runningBuilds = await teamCity.GetRunningBuilds();

            var runnintAgentsIds = runningBuilds.Build.Select(x => x.Agent.Id).ToHashSet();

            foreach (var build in builds.Build)
            {
                var info = await teamCity.GetBuild(build.Id);

                var agents = await teamCity.GetCompatibleAgents(info.BuildTypeId);

                RequestForBuild(output, info, agents, runnintAgentsIds);
            }
        }
        public override async Task Do(Output output, string[] parameters)
        {
            var builds = await _teamCity.GetRunningBuilds();

            if (builds.Build.Length == 0)
            {
                output.Write("No running builds");
            }
            else
            {
                await RunViaBuilds(_teamCity, output, builds).ConfigureAwait(false);
            }
            output.Ask("You can", new Clickable[]
            {
                new Clickable("Refresh", "", "", "running", ""),
                new Clickable("Go to start", "", "", "start", ""),
            });
        }