public void CollectBuildData(DateTime minFinishTime, DateTime maxFinishTime, int BUILD_PER_REQUEST) { var vso = this.config[SolutionConfigName.VSO_NAME].ToString(); var project = this.config[SolutionConfigName.VSO_PROJECT_NAME].ToString(); var token = this.config[SolutionConfigName.PERSONAL_ACCESS_TOKEN].ToString(); var query = OfficialBuildUtil.GetQueryStringWithPaging( vso, project, this.config[SolutionConfigName.OFFICIAL_BUILD_ID].ToString(), minFinishTime.ToString(), maxFinishTime.ToString(), BUILD_PER_REQUEST, "Completed" ); var buildFromVSO = OfficialBuildUtil.GetOfficialBuildDBModel(vso, project, query, token); var metricList = new List <Metric>(); foreach (var build in buildFromVSO) { var detail = new Dictionary <string, object>(); detail["VSO"] = build.VSO; detail["Project"] = build.Project; detail["BuildId"] = build.BuildId; detail["Result"] = build.Result ? 1 : 0; detail["SourceBranch"] = build.SourceBranch; detail["CreationDate"] = build.CreationDate; metricList.Add(new Metric("OfficialBuild", MetricType.OfficialBuild, detail)); } writer.Write(metricList); }
public override void CollectMetric() { var end = DateTime.Now.AddDays(1); var begin = end.AddDays(-5); var vso = this.config[SolutionConfigName.VSO_NAME].ToString(); var project = this.config[SolutionConfigName.VSO_PROJECT_NAME].ToString(); var token = this.config[SolutionConfigName.PERSONAL_ACCESS_TOKEN].ToString(); var builIds = this.config[SolutionConfigName.OFFICIAL_BUILD_ID].ToString(); var builds = OfficialBuildUtil.GetOfficialBuildDBModel(vso, project, builIds, begin, end, token); var metricList = new List <Metric>(); foreach (var build in builds) { var coverage = TestCoverageUtil.GetTestCoverageForBuild(this.config[SolutionConfigName.VSO_NAME].ToString(), this.config[SolutionConfigName.VSO_PROJECT_NAME].ToString(), build.BuildId, token); foreach (var item in coverage) { var detail = new Dictionary <string, object>(); detail["VSO"] = item.VSO; detail["Project"] = item.Project; detail["BuildId"] = build.BuildId; detail["ModuleName"] = item.ModuleName; detail["LinesCovered"] = item.LinesCovered; detail["LinesNotCovered"] = item.LinesNotCovered; var metric = new Metric("TestCoverage", MetricType.TestCoverage, detail); metricList.Add(metric); } } writer.Write(metricList); }
public void OfficialBuild_GetOfficialBuildModel_Test() { var query = @"https://dltc.visualstudio.com/DefaultCollection/Deep Learning/_apis/build/builds?api-version=2.0&minFinishTime=2015-08-15T00:00:00Z&maxFinishTime=2018-08-20T00:00:00Z&definitions=18"; var token = this.config[SolutionConfigName.PERSONAL_ACCESS_TOKEN].ToString(); var buildModelList = OfficialBuildUtil.GetOfficialBuildDBModel("dltc", "Deep Learning", query, token); Assert.IsTrue(buildModelList.Count > 0); }
public override void CollectMetric() { var end = DateTime.Now.AddDays(1); var begin = end.AddDays(-5); var vso = this.config[SolutionConfigName.VSO_NAME].ToString(); var project = this.config[SolutionConfigName.VSO_PROJECT_NAME].ToString(); var token = this.config[SolutionConfigName.PERSONAL_ACCESS_TOKEN].ToString(); var buildIds = this.config[SolutionConfigName.OFFICIAL_BUILD_ID].ToString(); var maxBuildId = OfficialBuildUtil.GetMaxBuildId(begin, end, vso, project, buildIds, token); var metricList = new List <Metric>(); //Retrieve the previous 100 Test coverage info if (maxBuildId != -1) { var initBuildId = (maxBuildId - 100) < 1 ? 1 : maxBuildId - 100; for (var buildId = initBuildId; buildId <= maxBuildId; ++buildId) { var runs = TestRunUtil.GetBuildTestRunDataModel(this.config[SolutionConfigName.VSO_NAME].ToString(), this.config[SolutionConfigName.VSO_PROJECT_NAME].ToString(), buildId, token); foreach (var item in runs) { var detail = new Dictionary <string, object>(); detail["VSO"] = item.VSO; detail["Project"] = item.Project; detail["BuildOrReleaseId"] = buildId; detail["RunId"] = item.RunId; detail["PassedTestNum"] = item.PassedTestNum; detail["TotalTestNum"] = item.TotalTestNum; detail["CreationDate"] = item.CreationDate; var metric = new Metric("TestRun", MetricType.TestRun, detail); metricList.Add(metric); } } writer.Write(metricList); } }