TFS(2015)REST服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TFS(2015)REST服务相关的知识,希望对你有一定的参考价值。

开发人员(Cold Fusion)要求我公开REST API,以便他们可以从内部开发的应用程序以编程方式创建工作项。

这是我第一次涉足TFS中的REST,我不知道从哪里开始。我检查了Microsoft文档,但它当然偏向于.NET或客户端库,但据我所知,我不能用这些做任何事情,因为它是冷聚变环境进行“调用”?

我可以就如何实现这一目标获得一些建议吗?

答案

Representational State Transfer(REST)API是支持HTTP操作集(方法)的服务端点,它提供对服务资源的创建,检索,更新或删除访问。

创建工作项的Api如下:

POST https://{accountName}.visualstudio.com/{project}/_apis/wit/workitems/${type}?api-version=4.1

[
  {
    "op": "add",
    "path": "/fields/System.Title",
    "from": null,
    "value": "Sample task"
  }
]

如果您只想测试其余的api,可以下载Postman,并使用它测试api。如果要在代码中使用其余的api,可以参考下面的示例。

以下是获取帐户项目列表的示例:

using System.Net.Http;
using System.Net.Http.Headers;

...

//encode your personal access token                   
string credentials = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", "", personalAccessToken)));

ListofProjectsResponse.Projects viewModel = null;

//use the httpclient
using (var client = new HttpClient())
{
    client.BaseAddress = new Uri("https://{accountname}.visualstudio.com");  //url of our account
    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", credentials); 

    //connect to the REST endpoint            
    HttpResponseMessage response = client.GetAsync("_apis/projects?stateFilter=All&api-version=1.0").Result;

    //check to see if we have a succesfull respond
    if (response.IsSuccessStatusCode)
    {
        //set the viewmodel from the content in the response
        viewModel = response.Content.ReadAsAsync<ListofProjectsResponse.Projects>().Result;

        //var value = response.Content.ReadAsStringAsync().Result;
    }   
}

有用的链接:

以上是关于TFS(2015)REST服务的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VSTS 仪表板小部件中使用 REST API 从 TFS 获取构建定义?

TFS 2015 - 自定义路径策略实施?

通过 REST API 将测试结果发布到 TFS 2018 测试用例

将TFS REST API与存储的查询一起使用时是否会编译?

当您分离然后重新附加项目集合时,TFS 2015 报告服务器会发生啥情况?

尝试通过使用rest api从TFS票证中读取缺陷历史来获取TFS错误状态更改日期