예제 #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);
            }
        }
예제 #2
0
        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),
                });
            }
        }