TFS API:二、TFS  代码查询工作项

 首先我们需要认识TFS的两大获取服务对象的类。

  他们分别为TfsConfigurationServer和TfsTeamProjectCollection,他们的不同点在于可以获取不同的TFS API服务类。他们的区别如下:

服务

TfsConfigurationServer

(服务器级别)

TfsTeamProjectCollection

(集合级别)

ITeamFoundationRegistry

 √  √

IIdentityManagementService

 √  √

ITeamFoundationJobService

 √  √

IPropertyService

 √  √

IEventService

 √  √

ISecurityService

 √  √

ILocationService

 √  √

TswaClientHyperlinkService

 √  √

ITeamProjectCollectionService

 √

IAdministrationService

 √  √

ICatalogService

 √

VersionControlServer

 √

WorkItemStore

 √

IBuildServer

 √

ITestManagementService

 √

ILinking

 √

ICommonStructureService3

 √

IServerStatusService

 √

IProcessTemplates

 √

基本上我们可以通过上面两个类对TFS操作所有功能点。下面我们先看看如何使用TfsTeamProjectCollection获取特定团队集合下的所有项目,并且打印出项目名称。

首先我们需导入一下命名空间

using Microsoft.TeamFoundation.Client;

using Microsoft.TeamFoundation.Framework.Client;

using Microsoft.TeamFoundation.Framework.Common;

using Microsoft.TeamFoundation.WorkItemTracking.Client;

using Microsoft.TeamFoundation.VersionControl.Client;

其次链接TFS

Uri tfsUri = new Uri("http://10.0.9.142:8080/tfs/web");

TfsTeamProjectCollection server = new TfsTeamProjectCollection(tfsUri);

WorkItemStore workstore = server.GetService<WorkItemStore>();

在这里我需要特别的说明一下

http://10.0.9.142:8080/tfs/web   这个地址一定要写对,有时候这个地址的确可以在浏览器打开TFS,但并不是链接TFS的地址,否则会提示这样的错误

TF31002: 无法连接到此 Team Foundation Server: http://10.0.9.142:8080/tfs/web。

Team Foundation Server URL: http://10.0.9.142:8080/tfs/web。

如何获取我们需要的正确地址,请看图。

链接上TFS以后,就可以查询很多数据了

//取出团队集合URI下的项目名称,如果团队集合为空则取默认集合下项目

Uri tfsUri = new Uri("http://10.0.9.142:8080/tfs/web ");

TfsTeamProjectCollection server = new TfsTeamProjectCollection(tfsUri);

WorkItemStore workstore = server.GetService<WorkItemStore>();

foreach (Project project in workstore.Projects)

{

Console.WriteLine("TFS集合下项目名称是:" + project.Name);

}

Console.WriteLine("---------------------------------------------------------------");

  下面的例子将获取我们整个TFS服务器的所有团队集合以及团队集合下的所有团队名称

TFS API:二、TFS 代码查询工作项的更多相关文章

  1. TFS支持移动设备,微软已经走出了第一步(手机上更新、查询工作项)

    TFS支持移动设备,微软已经走出了第一步! 从现在开始,你可以在手机浏览器上打开自己的VSTS团队项目,会看大手机版的工作项界面,你可以在手机设备上更新.查询工作项. 这是原生自带的,这些移动功能马上 ...

  2. TFS API : 四、工作项查询

    TFS API : 四.工作项查询 本节将讲述如何查询工作项,将用户统计数据. 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似: Select [标题] f ...

  3. TFS二次开发系列:五、工作项查询

    本节将讲述如何查询工作项,用于二次开发中定义获取工作项列表. 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似: Select [标题] from worki ...

  4. TFS代码变更和工作项关联,为系统变更提供完美的跟踪轨迹

    TFS是微软的应用软件生命周期管理(ALM)的解决方案产品,相比我们常见的一些ALM产品,例如HP ALM, IBM Rational, Atlanssian Jira等,其最大的区别在于TFS将软件 ...

  5. TFS签入代码时,自动修改工作项的状态为“已解决”

    Visual Studio中有一个很酷的功能,就是签入代码到TFS库时,可以关联相应的工作项,实现代码与工作项(需求.任务.Bug等)的关联,从而实现代码的跟踪. 在关联工作项的过程中,如果工作项具备 ...

  6. 从TFS 删除工作项

    一.进入命令执行窗口的方式 1.若你的TFS服务器上安装了VS开发工作,可以按以下步骤,进入命令行方式,图如下: 2.若你TFS上没有安装VS开发工作,可以从你的开发机器上的VS安装目录下(一般情况下 ...

  7. [转载]基于TFS实践敏捷-工作项跟踪

    工作项跟踪(1) 可跟踪性是软件过程的重要能力,TFS主要是以工作项来实现过程的可跟踪性.曾有人问:"你们实际项目里的工作项是怎么样的?能不能让我们看看?"我也一直很好奇别的公司T ...

  8. TFS(Team Foundation Server)敏捷使用教程(四):工作项跟踪(1)

    工作项跟踪(1) 可跟踪性是软件过程的重要能力,TFS主要是以工作项来实现过程的可跟踪性.曾有人问:"你们实际项目里的工作项是怎么样的?能不能让我们看看?"我也一直很好奇别的公司T ...

  9. TFS工作项数据统计及相关数据库结构分析

    今天为客户的质量管理部门人员提供TFS咨询过程中,客户的质量管理专家基于TFS提出了一个比较棘手的数据统计需求.需求是这样,客户的数十个软件项目通过质量管理部按照年度版本计划进行软件产品系统的发布,因 ...

随机推荐

  1. ubuntu用作开发办公平台的完美体验

    2016年6月3日 对于使用使用linux操作系统作为办公平台的新手来说很不适应,需要在多种方式中找到自己喜欢,适合自己的方式比较难.摸索了很久终于发现了一个适合我自己的使用方式了.这种方式也适合其他 ...

  2. bootstrap 日期控件 bootstrap-datepicker

    http://www.bootcss.com/p/bootstrap-datetimepicker/

  3. Sonar安装配置

    https://www.sonarqube.org/downloads/ 下载sonar.当前版本为6.2 解压压缩包,进行配置: 修改sonarqube-6.2\conf\sonar.propert ...

  4. webstorm卡顿问题

    近期随着项目开展,文件逐渐增大,webstrom频繁出现卡顿,而且时有崩溃现象,提示没有足够的内存来执行请求的操作,需要增加Xms设置. 解决办法: 1.找到WebStorm.exe.vmoption ...

  5. stackoverfow访问 ajax.googleapis.com

    本文实验环境:Fedora 23 先用nslookup 查看stackoverflow.com的ip -vc参数,表示用强制用TCP 查到的stackoverflow的地址似乎没错, 用本地的DNS解 ...

  6. [01] cocos2d-x开发环境搭建

    cocos2d-x 是跨平台的游戏开发引擎,支持的平台有 ios , android , windows phone , web , tizen,windows等. 先来搭建开发环境,一般我们开发游戏 ...

  7. SQL Server触发器

    一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活.所以触发器可以用来实现对表实施复杂的完整性约`束. 二﹕ SQL Server为每个触发 ...

  8. TCP学习之二:客户端与服务端的连接

    主要参考张子阳大神的博客:http://www.cnblogs.com/JimmyZhang/category/101698.html TcpClient是对Socket的封装 一个TcpClient ...

  9. 【Java之对象清理】finalize()的用途

    Java允许在类中定义一个名为finalize()的方法.它的工作原理是:一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finalize()方法.并且在下一次垃圾回收动作发生时,才会真正回收 ...

  10. jcFeather For Maya 2012免费版

    jcFeather羽毛插件有Maya2012免费试用版. 免费版有正版的所有功能,可制作羽毛,可渲染,但是一个Maya场景文件只能有3个jcFeather 节点和3个jcPreFeather节点. j ...