Rest TFS(2015)休息服务
一位开发人员(Cold Fusion)要求我公开REST API,以便他们可以通过编程从内部开发的应用程序创建工作项 这是我第一次进入TFS中的REST,我不知道从哪里开始。我查看了Microsoft文档,但它当然偏向于.NET或客户端库,但据我所知,我无法对它们做任何事情,因为这是冷融合环境的“呼叫”Rest TFS(2015)休息服务,rest,tfs,coldfusion-9,Rest,Tfs,Coldfusion 9,一位开发人员(Cold Fusion)要求我公开REST API,以便他们可以通过编程从内部开发的应用程序创建工作项 这是我第一次进入TFS中的REST,我不知道从哪里开始。我查看了Microsoft文档,但它当然偏向于.NET或客户端库,但据我所知,我无法对它们做任何事情,因为这是冷融合环境的“呼叫” 我可以得到一些关于如何实现这一点的建议吗?代表性状态传输(REST)API是支持HTTP操作集(方法)的服务端点,这些操作集提供对服务资源的创建、检索、更新或删除访问 创建工作项的Api如下所示
我可以得到一些关于如何实现这一点的建议吗?代表性状态传输(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"
}
]
如果您只想测试RESTAPI,可以下载并使用它测试api。如果您想在代码中使用RESTAPI,可以参考下面的示例
下面是一个获取帐户项目列表的示例:
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;
}
}
使用System.Net.Http;
使用System.Net.Http.Header;
...
//对您的个人访问令牌进行编码
string credentials=Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format(“{0}:{1}”,“”,personalAccessToken));
ListofProjectsResponse.Projects viewModel=null;
//使用httpclient
使用(var client=new HttpClient())
{
client.BaseAddress=新Uri(“https://{accountname}.visualstudio.com”);//我们帐户的url
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(新的System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(“应用程序/json”);
client.DefaultRequestHeaders.Authorization=新的AuthenticationHeaderValue(“基本”,凭证);
//连接到REST端点
httpresponsemessageresponse=client.GetAsync(“\u api/projects?stateFilter=All&api version=1.0”)。结果;
//查看我们是否有成功的回复
if(响应。IsSuccessStatusCode)
{
//根据响应中的内容设置viewmodel
viewModel=response.Content.ReadAsAsync().Result;
//var value=response.Content.ReadAsStringAsync().Result;
}
}
有用链接: