我创建了一个规范来查询项目名称和可能的特定日期,但看起来查询字段没有选项来执行此操作。这就是我所拥有的。有没有办法让我可以为项目和特定日期获得构建而不是遍历所有构建?
var buildDetailSpec = buildServer.CreateBuildDetailSpec(project.Name, "*");
buildDetailSpec.InformationTypes = null;
//buildDetailSpec.MaxFinishTime = dateToGet;
IBuildDetail[] builds = buildServer.QueryBuilds(buildDetailSpec).Builds;
我看到的唯一选项是使用maxfinishtime获取所有构建并遍历每个构建以检查其完成日期。还有更好的方法吗?
答案 0 :(得分:0)
CreateBuildDetailsSpec方法有一个重载方法,它将TeamProject作为参数。见this
要搜索特定日期,请设置buildDetailsSpec对象的MinFinishTime和MaxFinishTime属性。类似于下面的内容(假设dateToGet的时间为00:00:00)
var buildDetailSpec = buildServer.CreateBuildDetailSpec(project.Name);
buildDetailSpec.InformationTypes = null;
buildDetailSpec.MaxFinishTime = dateToGet; /*at 00:00:00*/
buildDetailSpec.MaxFinishTime = dateToGet.AddDays(1).AddMinutes(-1); /*at 23:59:59*/
IBuildDetail[] builds = buildServer.QueryBuilds(buildDetailSpec).Builds;