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); } }
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); }
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); }
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); }
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); }
public MainViewModel() { Widget = new TeamCityBuild(); }