【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 张洪君

TFS Java SDK使用指南的更多相关文章

  1. 【阿里云产品公测】消息队列服务MQS java SDK 机器人应用初体验

    [阿里云产品公测]消息队列服务MQS java SDK 机器人应用初体验 作者:阿里云用户啊里新人   初体验 之 测评环境 由于MQS支持外网访问,因此我在本地做了一些简单测试(可能有些业余),之后 ...

  2. <Chapter 2>2-1-2.安装Java SDK

    Java运行时环境的App Engine SDK运行在任何运行了Java SE开发工具(JDK)的电脑上.Java SDK App Engine 支持JDK 6,并且当运行App Engine的时候, ...

  3. 使用MaxCompute Java SDK运行安全相关命令

    使用MaxCompute Console的同学,可能都使用过MaxCompute安全相关的命令.官方文档上有详细的MaxCompute安全指南,并给出了安全相关语句汇总.   简而言之,权限管理.列级 ...

  4. Nacos系列:Nacos的Java SDK使用

    Maven依赖 Nacos提供完整的Java SDK,便于配置管理和服务发现及管理,以 Nacos-0.8.0 版本为例 添加Maven依赖: <dependency> <group ...

  5. Android SDK 开发指南

    Android SDK 开发指南 视频详解 以下视频是对融云 Android SDK 开发使用的详细讲解,您可以在阅读文档时配合学习.   更多视频教程如下: CSDN 融云 Android SDK ...

  6. Android SDK上手指南:知识测试

    Android SDK上手指南:知识测试 2014-01-22 10:00 核子可乐 译 51CTO 字号:T | T 在从零开始学习Android开发系列教程当中,我们已经了解了为Android平台 ...

  7. Android SDK上手指南:下一步学习方向

    Android SDK上手指南:下一步学习方向 2014-02-28 11:01 核子可乐 译 51CTO 字号:T | T 到目前为止,我们已经介绍过的知识足以帮助大家从非常理想的起点开始进行And ...

  8. Android SDK上手指南:应用程序发布

    Android SDK上手指南:应用程序发布 2013-12-26 15:47 核子可乐译 51CTO 字号:T | T 在今天的文章中,我们将重点探讨通过Google Play软件商店进行应用程序发 ...

  9. Android SDK上手指南:Activity与生命周期

    Android SDK上手指南:Activity与生命周期 2013-12-26 15:26 核子可乐译 51CTO 字号:T | T Activity生命周期并不仅仅在用户运行应用程序之后才开始生效 ...

随机推荐

  1. Python3使用csv模块csv.writer().writerow()保存csv文件,产生空行的问题

    问题:csv.writer().writerow()保存的csv文件,打开时每行后都多一行空行 解决方法:在open()内增加一个参数newline='' 即可   问题现象:   1.代码 with ...

  2. oracle查询锁表

    select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = ...

  3. 爬楼梯 · Climbing Stairs

    [抄题]: 假设你正在爬楼梯,需要n步你才能到达顶部.但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? [思维问题]: 不知道一步.两步怎么加.还是用iteration迭代.此题公式可被 ...

  4. expdp、impdp使用

    expdp介绍 EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下ATTACH=[schema_name.]job_nameSchema_name用于指定 ...

  5. phpcms如何给已有的模块添加新功能?

    phpcms如何给已有的模块添加新功能? 方法一:直接在模块里的控制器文件中添加功能. 不建议使用此方法,因为一旦phpcms升级,有可能会覆盖模块中的文件, 导致你添加的功能丢失. 方法二:新建一个 ...

  6. Thread(线程)和ThreadPool(线程池) Thread回调与返回值

    Thread(线程) Thread开启线程:接收一个参数 TestClass tc = new TestClass(); //没有返回值,有一个object类型的参数的委托:两种写法. Paramet ...

  7. CComSafeArray

    https://blog.csdn.net/tangaowen/article/details/6554640

  8. 5条面经,助你成功拿到UX设计师Offer

    为什么成为 UX设计师?   如果你经常逛推酷, 知乎, 设计达人或者一些专业的设计师论坛,博客,你会发现,第一批成为UX设计师的人,其实是误打误撞地落入这个行业的.那时候人们并不清楚UX设计师是什么 ...

  9. static 和 final

    static是静态修饰关键字,可以修饰变量和程序块以及类方法:当你定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存:修饰一个程序块的 ...

  10. IIS 6 备忘

    用IIS7久了, 回到IIS6 总被搞混,所以记录下,以备忘记. 以下是转载和整合了他人的资源,原出处不详.   IIS Web 服务器的权限设置有两个地方,一个是 NTFS 文件系统本身的权限设置, ...