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;
}
}
有用的链接:
- https://docs.microsoft.com/en-us/rest/api/vsts/?view=vsts-rest-4.1
- https://docs.microsoft.com/en-us/rest/api/vsts/wit/work%20items/create?view=vsts-rest-4.1
以上是关于TFS(2015)REST服务的主要内容,如果未能解决你的问题,请参考以下文章
如何在 VSTS 仪表板小部件中使用 REST API 从 TFS 获取构建定义?
通过 REST API 将测试结果发布到 TFS 2018 测试用例
将TFS REST API与存储的查询一起使用时是否会编译?