从Team Foundation Server获取构建和变更集编号

3
我被分配了一个任务,需要使用TFS API来检查部署后哪个版本集成了哪个变更集编号。由于之前没有接触过TFS,所以我一直在尝试通过谷歌搜索找到答案。但是已经花费了2天时间,希望有人能够给我指点迷津...
目前为止,我已经完成了以下工作:
Uri collectionUri = new Uri("mytfs/tfs/");
var server = TfsConfigurationServerFactory.GetConfigurationServer(collectionUri);
server.Authenticate();
server.EnsureAuthenticated();
var service = server.GetService<TswaClientHyperlinkService>();
var projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("mytfs/tfs/collection"));
var cssService = projectCollection.GetService<ICommonStructureService3>();
var project = cssService.GetProjectFromName("project");

WorkItemStore workItemStore = projectCollection.GetService<WorkItemStore>();
WorkItemCollection workItemCollection = workItemStore.Query("SELECT * FROM WorkItems"); 

在workItemCollection对象中,我尝试了几个查询,但似乎它不允许我更改数据库、使用连接等,只能使用简单的select/from语句。
我这样做是否正确——这是我应该获取生成和变更集合编号的方法吗?如果是,我在哪里可以查看需要查询的表格呢?
1个回答

2
这里的问题是你把它看成了一个数据库,但它并不是。它是一个对象模型,允许你通过定义良好的API以编程的方式访问TFS的各个方面。
工作项查询并不是SQL,它们是WIQL(工作项查询语言)。工作项对象肯定会链接到相关的变更集,但它不会链接到一个构建。一些工作项类型有一个“已解决”字段,将自动更新为构建版本,但并非所有工作项都有,所以这并不一定可靠。
要查找特定的构建,你需要使用IBuildServer服务,并搜索构建规范。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接