Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest TFS(2015)休息服务_Rest_Tfs_Coldfusion 9 - Fatal编程技术网

Rest TFS(2015)休息服务

Rest TFS(2015)休息服务,rest,tfs,coldfusion-9,Rest,Tfs,Coldfusion 9,一位开发人员(Cold Fusion)要求我公开REST API,以便他们可以通过编程从内部开发的应用程序创建工作项 这是我第一次进入TFS中的REST,我不知道从哪里开始。我查看了Microsoft文档,但它当然偏向于.NET或客户端库,但据我所知,我无法对它们做任何事情,因为这是冷融合环境的“呼叫” 我可以得到一些关于如何实现这一点的建议吗?代表性状态传输(REST)API是支持HTTP操作集(方法)的服务端点,这些操作集提供对服务资源的创建、检索、更新或删除访问 创建工作项的Api如下所示

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

这是我第一次进入TFS中的REST,我不知道从哪里开始。我查看了Microsoft文档,但它当然偏向于.NET或客户端库,但据我所知,我无法对它们做任何事情,因为这是冷融合环境的“呼叫”


我可以得到一些关于如何实现这一点的建议吗?

代表性状态传输(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;
}   
}
有用链接:


REST呼叫就是REST呼叫。在应用程序中实现它有哪些具体困难?我不知道在哪里添加它或如何创建它。我所看到的每一个地方都在动词中指定“/\u API”,但我没有可用的,这表明还没有启用或安装某些内容?我并不是真正要连接的应用程序-我刚刚被要求提供一个端点或连接字符串,以允许内部开发的应用程序在TFSA REST调用中创建工作项。调用类似以下内容http://{tfs server}:{port}/{Collection}/{Team Project}/_API/wit/workitems/{wit id}你说的“我没有可用的”是什么意思?尝试调用REST方法时是否收到错误消息?请求帮助时,您需要尽可能具体。