public async Task GetTestData(string projectName, string buildType, int buildId, int changeId)
        {
            using (var client = GetClient())
            {
                var projectTask = client.GetStringAsync(_urls.GetProjectByNameId(projectName));
                var pMsg        = await projectTask;
                var pData       = TeamCityProject.FromJson(pMsg);


                var buildsTask = client.GetStringAsync(_urls.GetBuilds(buildType));
                var bsMsg      = await buildsTask;
                var bsData     = TeamCityBuilds.FromJson(bsMsg);

                var buildTask = client.GetStringAsync(_urls.GetBuild(buildId));
                var bMsg      = await buildTask;
                var bData     = TeamCityBuild.FromJson(bMsg);


                var changesTask = client.GetStringAsync(_urls.GetChanges(buildId));
                var csMsg       = await changesTask;
                var csData      = TeamCityChanges.FromJson(csMsg);

                var changeTask = client.GetStringAsync(_urls.GetChange(changeId));
                var cMsg       = await changeTask;
                var cData      = TeamCityChange.FromJson(cMsg);
            }
        }
Пример #2
0
        private List <ProjectDeployment> BuildDefaultProjectDeployments(IEnumerable <ProjectInfo> dependentProjectsToDeploy, string defaultTeamCityProjectConfiguration)
        {
            var projectDeployments = new List <ProjectDeployment>();

            foreach (var projectInfo in dependentProjectsToDeploy)
            {
                IEnumerable <TeamCityBuildType> teamCityBuildTypes = _temCityRestClient.GetBuildTypes(projectInfo.ArtifactsRepositoryName);

                TeamCityBuildType defaultBuildType = teamCityBuildTypes.FirstOrDefault(x => x.Name == defaultTeamCityProjectConfiguration);

                if (defaultBuildType == null)
                {
                    throw new DeploymentTaskException(string.Format("TeamCity configuration: [{0}] does not exist for project: [{1}]", defaultTeamCityProjectConfiguration, projectInfo.Name));
                }

                TeamCityBuild lastSuccessfulBuild = _temCityRestClient.GetLastSuccessfulBuild(defaultBuildType.Id);

                if (lastSuccessfulBuild == null)
                {
                    throw new DeploymentTaskException(string.Format("Cannot obtain last successful build for project [{0}], configuration: [{1}], team city build type id: [{2}]", projectInfo.Name, defaultTeamCityProjectConfiguration, defaultBuildType.Id));
                }

                var deploymentInfo = new DeploymentInfo(_deploymentId, false, projectInfo.Name, defaultTeamCityProjectConfiguration, lastSuccessfulBuild.Id, _targetEnvironment, projectInfo.CreateEmptyInputParams());

                projectDeployments.Add(
                    new ProjectDeployment
                {
                    ProjectInfo    = projectInfo,
                    DeploymentInfo = deploymentInfo,
                    TeamCityBuild  = lastSuccessfulBuild,
                });
            }

            return(projectDeployments);
        }
Пример #3
0
        public void TeamCityBuildMonitorTest()
        {
            var teamCityBuild = new TeamCityBuild
            {
                GuestUser   = true,
                Url         = "https://teamcity.jetbrains.com",
                BuildTypeId = "OpenSourceProjects_Kaxb_Build",
            };

            var monitor = new TeamCityBuildMonitor();

            monitor.Handle(teamCityBuild);

            Assert.AreNotEqual(State.None, teamCityBuild.State);
            Assert.AreNotEqual(State.Error, teamCityBuild.State);
        }
Пример #4
0
        public async Task TeamCityBuildMonitorTest()
        {
            var build = new TeamCityBuild
            {
                GuestUser   = true,
                Url         = "https://teamcity.jetbrains.com",
                BuildTypeId = "OpenSourceProjects_Kaxb_Build",
            };

            var request = HealthCheckRequest.Create(build);
            var handler = new TeamCityBuildStatus();

            await handler.Handle(request, CancellationToken.None);

            Assert.AreNotEqual(State.None, request.DataContext.State);
            Assert.AreNotEqual(State.Error, request.DataContext.State);
        }
Пример #5
0
        private ProjectConfigurationBuild GetLatestSuccessfulBuild(string projectName, string projectConfigurationName)
        {
            Guard.NotNullNorEmpty(projectName, "projectName");
            Guard.NotNullNorEmpty(projectConfigurationName, "projectConfigurationName");

            ProjectInfo projectInfo = _projectInfoRepository.FindByName(projectName);

            TeamCityBuildType teamCityBuildType = _teamCityClient.GetBuildTypes(projectInfo.ArtifactsRepositoryName).FirstOrDefault(x => x.Name == projectConfigurationName);

            if (teamCityBuildType == null)
            {
                return(null);
            }

            TeamCityBuild lastSuccessfulBuild = _teamCityClient.GetLastSuccessfulBuild(teamCityBuildType.Id);

            ProjectConfigurationBuild projectConfigurationOfLastBuild = DtoMapper.Map <TeamCityBuild, ProjectConfigurationBuild>(lastSuccessfulBuild);

            return(projectConfigurationOfLastBuild);
        }
Пример #6
0
 public MainViewModel()
 {
     Widget = new TeamCityBuild();
 }