【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. Segments(叉积)

    Segments http://poj.org/problem?id=3304 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: ...

  2. C#开发中常用加密解密方法解析

    一.MD5加密算法 我想这是大家都常听过的算法,可能也用的比较多.那么什么是MD5算法呢?MD5全称是message-digest algorithm 5,简单的说就是单向的加密,即是说无法根据密文推 ...

  3. loadrunner12.5-vugen回放脚本提示:URL=“http://www.testclass.net/js/scripts.js”的常规连接当前无套接字 (16 不足) 可用,是什么意思呢?怎么理解呢?

    会发生这个报错,是因为每个浏览器都有一个限制,检查哪个浏览器客户正在模拟, 通常只允许16个并发连接. 如果超过此超过接数,将显示该消息,通知您没有可用的连接. 而max connection的默认值 ...

  4. Codeforces 689C. Mike and Chocolate Thieves 二分

    C. Mike and Chocolate Thieves time limit per test:2 seconds memory limit per test:256 megabytes inpu ...

  5. 2018.09.11 bzoj2208: [Jsoi2010]连通数(bitset+floyd)

    传送门 听说正解是缩点+dfs? 直接bitset优化floyd传递闭包就行了.(尽管时间复杂度是假的O(n3/32)" role="presentation" styl ...

  6. Docker中容器的备份、恢复和迁移

    1. 备份容器 首先,为了备份Docker中的容器,我们会想看看我们想要备份的容器列表.要达成该目的,我们需要在我们运行着Docker引擎,并已创建了容器的Linux机器中运行 docker ps 命 ...

  7. 动态渲染的input怎么取消记忆功能

    方法1 :自定义去除记忆功能属性: $('#index_table_filter > label > input[type="search"]').attr('auto ...

  8. HDU 1718 Rank (排序)

    题意:给你n个学号和成绩,并且给定一个学号,让找这个学号是多少名. 析:用个结构体,按成绩排序,然后找那个学号,这个题有一个小坑,那就是并列的情况, 可能并列多少名,这个要考虑一下,其他的easy! ...

  9. Redis为什么是单线程

    转自:https://www.zhihu.com/question/23162208 https://www.zhihu.com/question/55818031:加了一些个人的理解. Redis为 ...

  10. python 实现排列组合

    1.python语言简单.方便,其内部可以快速实现排列组合算法,下面做简单介绍. 2.一个列表数据任意组合 2.1主要是利用自带的库 #_*_ coding:utf-8 _*_ #__author__ ...