2016-06-13 9 views
1

提供されているAPIを使用して、Visual Studio Team Servicesのアジャイルワークフローに新しいバグアイテムを作成する簡単なwinformアプリケーションを作成中です。 The API DocumentationVisual Studio Team Services用のAPIを使用した添付ファイルの追加(Visual Studio Online)

現在、新しいバグ、タイトル、タグ、説明を作成できます。

添付ファイルを追加できますが、何らかの理由でこれが機能していません。

バグを作成するコードは、JSONのコールが、私はそれを変換するために取得するように見えることはできません添付ファイルを追加するには、以下のコード

public static async void Post(string url, System.Net.Http.HttpContent wiPostDataContent, string returnType, JSONReturnCallBack callBack) 
    { 
     string responseString = String.Empty; 
     try 
     { 
      using (System.Net.Http.HttpClient client = new System.Net.Http.HttpClient()) 
      { 

       client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); 


       client.DefaultRequestHeaders.Authorization = 
          new AuthenticationHeaderValue("Basic",Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", username, password)))); 


        using (System.Net.Http.HttpResponseMessage response = client.PostAsync(url, wiPostDataContent).Result) 
        { 
         response.EnsureSuccessStatusCode(); 
         string ResponseContent = await response.Content.ReadAsStringAsync(); 

         responseString = ResponseContent; 

        } 
      } 
     } 
     catch(Exception ex) 
     { 
         Console.WriteLine(ex.ToString()); 
         Console.ReadLine(); 
     } 
     callBack(responseString,returnType); 
    } 

で行われ

private static void createInitailItemPostObject() 
    {           
     AddUpdateProp("/fields/System.Title", newTaskItem.Title); 
     AddUpdateProp("/fields/System.Tags", newTaskItem.Tags); 
     AddUpdateProp("/fields/System.Description", newTaskItem.Description); 
     AddUpdateProp("/fields/System.History", "Upload first file");  
    } 

    private static void AddUpdateProp(string field, string value) 
    {    
     DataObjectsProject.VSOJasonWorkItemPostData wiPostData = new DataObjectsProject.VSOJasonWorkItemPostData(); 
     wiPostData.op = "add"; 
     wiPostData.path = field; 
     wiPostData.value = value; 
     wiPostDataArr.Add(wiPostData);   
    } 

を下回っています私の現在のコードのように動作するコードの下に。

function readBlob() { 
var files = document.getElementById('fileselect').files; 
if (!files.length) { 
    alert('Please select a file!'); 
    return; 
} 
var file = files[0]; 
var filename = file.name; 
var reader = new FileReader(); 
reader.onloadend = function (evt) { 
    if (evt.target.readyState == FileReader.DONE) { 
     // Post file content to server 
     $.ajax({ 
      url: "http://fabrikam.visualstudio.com/DefaultCollection/_apis/wit/attachments?filename=" + filename + "&api-version=1.0", 
      data: evt.target.result, 
      processData: false, 
      contentType: "application/json", 
      type: "POST" 
     }); 
    } 
}; 
reader.readAsArrayBuffer(file); 

}

誰がこれを行うことができましたか?

私が使用しているURLは、あなたがのコード例にあるように、あなたがURLにプロジェクトを配置する必要はありません

https://[ACCOUNT].visualstudio.com/DefaultCollection/[Project]/_apis/wit/attachments?fileName=Test&api-version=1.0

答えて

1

APIを呼び出すために、以下のURLですAPI呼び出し。

https://[ACCOUNT].visualstudio.com/DefaultCollection/_apis/wit/attachments?fileName=Test&api-version=1.0

+0

私はそれを数時間見てきました。他のコールにはプロジェクトが必要ですが、添付されたドキュメントはプロジェクトに対して保存されていないと思います。 次の段階では、添付ファイルをタスクのバグにリンクします。 ありがとう –

関連する問題