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


    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中解压的文件都复制到项目的根目录下,以便后续利用

    image

     

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

    image

     

    image

     

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

    image

    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中设置的签入策略,如下图:

    image

     

    http://www.cnblogs.com/danzhang/  ALM MVP 张洪君

  • 相关阅读:
    7个简单但棘手的JavaScript面试问题
    Promise.then链式调用顺序
    JS模拟实现枚举
    web前端常见的加密算法介绍
    JavaScript浮点数精度
    工作中常用的JavaScript函数片段
    JavaScript Array (数组) 对象
    快速找出数组中是否包含公共项
    用JavaScript让你的浏览器说话
    JavaScript的声明提升
  • 原文地址:https://www.cnblogs.com/danzhang/p/5014547.html
Copyright © 2020-2023  润新知