2017-06-11 13 views
-1

反復リストを取得することができません、VSTS - 私は以下のREST APIを使用して、私のVSTSプロジェクトの反復のリストを取得しようとしています

 string _personalAccessToken = "mypersonalAccessToken"; // this PAT has Project and team (read, write, and manage) and Work items (read and write) scope 
     string _credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes(string.Format("{0}:{1}", "", _personalAccessToken))); 

     using (var client = new HttpClient()) 
     {    
      client.BaseAddress = new Uri("https://*myUserAccount*.visualstudio.com/"); 
      client.DefaultRequestHeaders.Accept.Clear(); 
      client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
      client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", _credentials); 

      var response = client.GetAsync("DefaultCollection/*MyProjectName*/*MyTeamName*/_apis/work/TeamSettings/Iterations?api-version=v2.0-preview.1").Result; 

      Console.WriteLine(response.Content.ReadAsStringAsync().Result);     
     } 

私のREST呼び出しが空の値で(200コードを返す)エラーなしで実行されています。私のプロジェクトでは少なくとも50回の反復がありますが、私は上記のコードでそれらをフェッチしていません。

私はどこで間違いをしているのか分かりません。どんな助けもありがとう。

答えて

1

コードは問題ありません。

このチームの繰り返しを確認するには、次の手順を参照してください。そのチームの管理ページへ

  1. ゴー
  2. 選択作業
  3. 反復を追加するために選択の繰り返し(複数可)をクリックして反復リスト
  4. (オプション)を確認してください。

更新:

あなたはチーム名を省略した場合は、デフォルトのチームの反復を取得します。

デフォルトチーム:チームプロジェクト>概要>変更のデフォルトのチームのデフォルトチームの

選択の反復の管理ページに移動:チームプロジェクトの管理ページ>作品>反復に行く>デフォルトチームの設定]をクリックします。

enter image description here

あなたがチームプロジェクトのすべての反復を取得したい場合は、get the root iteration tree REST APIを使用するか、(Microsoft Team Foundation Server Extended Clientパッケージをインストール/追加)直接このコードを使用することができます:返信用

var u = new Uri("https://starain.visualstudio.com"); 
VssCredentials c = new VssCredentials(new Microsoft.VisualStudio.Services.Common.VssBasicCredential(string.Empty, "[pat]")); 
      var connection = new VssConnection(u, c); 
      var workItemTracking = connection.GetClient<WorkItemTrackingHttpClient>(); 
Microsoft.TeamFoundation.Core.WebApi.ProjectHttpClient projClient = connection.GetClientAsync<Microsoft.TeamFoundation.Core.WebApi.ProjectHttpClient>().Result; 
      var projects= projClient.GetProjects().Result; 
      foreach(var p in projects.Where(pro=>pro.Name=="Scrum2015")) 
      { 
       var iteration = workItemTracking.GetClassificationNodeAsync(project: p.Name, structureGroup: Microsoft.TeamFoundation.WorkItemTracking.WebApi.Models.TreeStructureGroup.Iterations, depth: 5).Result; 
       GetIterations(iteration); 
      } 


static void GetIterations(Microsoft.TeamFoundation.WorkItemTracking.WebApi.Models.WorkItemClassificationNode currentIteration) 
     { 
      Console.WriteLine(currentIteration.Name); 
      if(currentIteration.Children!=null) 
      { 
       foreach (var ci in currentIteration.Children) 
       { 
        GetIterations(ci); 
       } 
      } 
     } 
+0

おかげで、上記の手順で私のチームは反復リストを持っていないことがわかります(おそらくゼロ結果の理由かもしれません)。しかし、すべての反復はプロジェクトレベルにあります。私はチーム名を省略してRESTコールを微調整しようとしましたが、望みの結果はありませんでした。 – Mahender

+0

@Mahenderチーム名を省略すると、デフォルトのチームの反復を取得します。私は私の答えを更新した、あなたはそれをチェックすることができます。 –

+0

更新された詳細をお寄せいただきありがとうございます。プロジェクトの反復を取得できます。 – Mahender

関連する問題