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", ""), }); }