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) { Assert.Count(parameters, 2); var branchname = parameters[0]; var buildType = parameters[1]; var agents = await _teamCity.GetCompatibleAgents(buildType); foreach (var agent in agents.Agent) { output.Ask(string.Format("Enqueue {0} with {1} on: ", branchname, buildType), new Clickable[] { new Clickable(agent.Name, "", "", "enqueue", branchname + " " + buildType + " " + agent.Id), }); } }