【2018.3.6 更新】

最新版本的TFS Java SDK(14.123.1)支持Java SDK 1.6版本,可以从Oracle的官方网站(http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html)下载。

【2017.5.17 更新】

当在Eclipse中使用Java SDK调试代码的时候,你可能会碰到下面的错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.nativeGetEnvironmentVariable(Ljava/lang/String;)Ljava/lang/String;

你还需要在Java项目的属性设置中指定正确的本地库路径(Native Library Path),如下图:

--------------

【2015.12.2 更新】

在这里发布了一篇新的文章“使用Team Explorer Everywhere (TEE) 2015 SDK获取团队项目的签入策略”  http://www.cnblogs.com/danzhang/p/5014547.html

使用微软提供的TFS 2012 SDK for JAVA, 可以方便地在JAVA程序中实现TFS的工作项管理源代码签入签出生成管理等。

下面就从零开始,演示如何使用Eclipse实现JAVA程序调用TFS API,实现TFS的基本的操作。

一、下载必要的软件

- Eclipse安装程序 http://www.eclipse.org/

- JDK http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html

二、创建Java项目,并导入TFS SDK

在Java项目中创建目录tfssdk,并将SDK中的文件复制到该目录下;将SDK中的文档做成zip文档,并复制到tfssdk目录下(tfs-sdk-11.0-javadoc.zip)

打开项目属性

添加JAR,并配置库位置和文档位置

三、创建并运行样例代码

添加一个样例代码:创建要求工作项

package com.mycompany.tfsdemo;

import com.microsoft.tfs.core.TFSTeamProjectCollection;
import com.microsoft.tfs.core.clients.workitem.CoreFieldReferenceNames;
import com.microsoft.tfs.core.clients.workitem.WorkItem;
import com.microsoft.tfs.core.clients.workitem.files.Attachment;
import com.microsoft.tfs.core.clients.workitem.files.Attachment;
import com.microsoft.tfs.core.clients.workitem.project.Project;
import com.microsoft.tfs.core.clients.workitem.wittype.WorkItemType;

public class CreateWorkItem
{
    public static void main(final String[] args)
    {
        //Attachment att1;
        //att1 = new Attachment("","");
       
        TFSTeamProjectCollection tpc = SnippetSettings.connectToTFS();

Project project = tpc.getWorkItemClient().getProjects().get(SnippetSettings.PROJECT_NAME);

// Find the work item type matching the specified name.
        WorkItemType RequirementWorkItemType = project.getWorkItemTypes().get("要求");

// Create a new work item of the specified type.
        WorkItem newWorkItem = project.getWorkItemClient().newWorkItem(RequirementWorkItemType);

// Set the title on the work item.
        newWorkItem.setTitle("Example Work Item");

// Add a comment as part of the change
        newWorkItem.getFields().getField(CoreFieldReferenceNames.HISTORY).setValue(
            "<p>Created automatically by a sample</p>");

// Save the new work item to the server.
       
        //TODO: add attachments while creating new work item
        //newWorkItem.getAttachments().add(att1);
       
        newWorkItem.save();

System.out.println("Work item " + newWorkItem.getID() + " successfully created");
    }
}

运行代码,成功

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

最新文章

  1. 如何实现一个php框架系列文章【1】如何组织文件
  2. android text
  3. python之列表切片(slice)
  4. poj 3304线段与直线相交
  5. HDU_2054——A=B问题
  6. SQL重复记录查询的几种方法(转)
  7. window快捷登陆linux的的设置方式(设置ssh的config配置)
  8. YARN之上的大数据框架REEF:微软出品,是否值得期待?
  9. C++多线程一
  10. The certificate used to sign &quot;&quot; has either expired or has been revoked.
  11. SAS PROC MCMC example in R: Logistic Regression Random-Effects Model(转)
  12. Linux中使用京东代码库JDCode创建私有Git仓库
  13. 201521123011《Java程序设计》第10周学习总结
  14. There is no getter for property named xxx&#39; in &#39;class java.lang.xxx&#39;
  15. OJ:重载 &lt;&lt; 运算符
  16. Confluence 6 缓存状态
  17. mysql 查看某个数据库中所有表的数据量
  18. P2024 [NOI2001]食物链 并查集
  19. nginx重启命令
  20. C语言程序试题

热门文章

  1. 深入浅出parallelStream
  2. 《Visual Basic开发实战1200例》包括第I卷、第II卷共计1200个例子,本书是第I卷,共计600个例子。
  3. 每月IT摘录201808--201809
  4. 50. Pow(x, n) (INT; Divide-and-Conquer)
  5. 关于&quot;undefined reference&quot;错误
  6. python之三级菜单作业
  7. 并发编程(三)Promise, Future 和 Callback
  8. Java 8 Stream API
  9. 2018.09.12 earthquake(最优比率生成树)
  10. 2018.08.17 洛谷P3110 [USACO14DEC]驮运(最短路)