您的位置:首页 > 其它

使用Team Explorer Everywhere (TEE) 2015 SDK获取团队项目的签入策略

2015-12-02 22:30 267 查看
TFS的代码签入策略与IDE工具紧密相关,例如Visual Studio中设置的签入策略,只会影响Visual Studio的团队资源管理器;如果需要在Eclipse的TEE中启用签入策略,你还需要在TEE中单独设置。(不仅如此,在数据存储上,二者也不一样,通过查询数控,我们发现TEE的签入策略存储在Collection数据库的表tbl_PropertyValue中,VS则不是)。

如果需要统计或查询哪些团队项目启用了什么签入策略,我们可以通过报表或者API的方式编写脚本输出TFS的签入策略设置。这里我主要描述如何用API获取Eclipse中的签入策略。

如同前面描述的两个IDE工具的不一样,通过API获取签入策略时,你会发现使用.NET获取的签入策略只包含Visual Studio中设置的策略;使用Java SDK API获取的签入策略,则只包含TEE中设置的签入策略。

我在之前写过一篇博客“TFS Java SDK使用指南”,里面描写了如何使用Java ADK,这里的操作步骤大体相似,对于相同的步骤不再赘述。

1. 下载Microsoft Team Explorer Everywhere 2015 中包含的TFS SDK (TFS-SDK-14.0.1.zip) https://www.microsoft.com/en-us/download/details.aspx?id=47727 

2. 将代码解压缩到本地磁盘中,使用Eclipse导入示例代码中的任何一个项目,例如我导入了com.microsoft.tfs.sdk.samples.snippets

3. 建SDK中解压的文件都复制到项目的根目录下,以便后续利用





 

4. 设置Java项目的引用类库,指定为上面步骤中复制的SDK文件





 





 

5. 根据自己的TFS服务器配置,修改Java项目中的配置文件





6. 增加一个Java类,例如我的名称是EnumerateCheckinPolicies,建下面的代码复制到文件中:

package com.microsoft.tfs.sdk.samples.snippets;

import com.microsoft.tfs.core.TFSTeamProjectCollection;
import com.microsoft.tfs.core.checkinpolicies.PolicyDefinition;
import com.microsoft.tfs.core.clients.versioncontrol.TeamProject;
import com.microsoft.tfs.core.clients.versioncontrol.VersionControlClient;
import com.microsoft.tfs.core.clients.versioncontrol.soapextensions.Item;

public class EnumerateCheckinPolicies {
    public static void main(final String[] args)
    {
    TFSTeamProjectCollection tpc = SnippetSettings.connectToTFS();
    VersionControlClient vcc= tpc.getVersionControlClient();
    Item item= vcc.getItem("$/"+SnippetSettings.PROJECT_NAME);
           TeamProject tp=new TeamProject(item,vcc);
         String projectName=tp.getName();
        PolicyDefinition[] ps= tp.getCheckinPolicies();
        System.out.println(projectName + ":");
        for(PolicyDefinition pd:ps)
        {
            System.out.println(pd.getType().getName());
        }
    }
}

7. 运行测试,你会看到TEE中设置的签入策略,如下图:





 

http://www.cnblogs.com/danzhang/  ALM MVP 张洪君
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: