2017-01-18 3 views

答えて

2

これを行うための公式リリースのREST APIはありません。しかし、あなたがコミットのコミットIDを取得するための要件

  1. Get a list of commitsを達成するために、これらの手順を参照することができます。
  2. Get a commit by commit id(手順1)親の値とリポジトリIDを取得する(_links> Repository> hrefの最後の値)(変更点>変更点> hrefでわからない場合はファイルパスを取得できます)
  3. このPOST要求https://[account].visualstudio.com/[teamプロジェクト名によるファイルの差分を取得]/_API/_versioncontrol/fileDiff?__ V = 5 & diffParametersの= [データ1] &リポジトリID = [リポジトリID]

[データ1] valueはJSONデータ(空白を削除)です。

JSONが好き:

{ 
"originalPath":"/index.html", 
"originalVersion":"GC[a parent value, step 2]", 
"modifiedPath":"/index.html(path: step 2)", 
"modifiedVersion":"GC[commit id]", 
"partialDiff":true, 
"includeCharDiffs":true 
} 

結果は、この(あなたは2つの手段は、1つの手段は、追加、削除、changeType実行が0と等しくないアイテムを計算する必要があります)含まれています:あなたは

{ 
     "changeType": 2, 
     "mLine": 9, 
     "mLines": [], 
     "mLinesCount": 0, 
     "oLine": 9, 
     "oLines": [ 
     " <!-- Polyfill(s) for older browsers -->" 
     ], 
     "oLinesCount": 1 
    }, 
{ 
     "changeType": 1, 
     "mLine": 22, 
     "mLines": [ 
     "  <div>2</div>" 
     ], 
     "mLinesCount": 1, 
     "oLine": 23, 
     "oLines": [], 
     "oLinesCount": 0 
    } 

Developer Tools Network captureを使用して、コミットのリクエストURLを取得できます(履歴>コミット>コミットを選択)。

+0

私は第3ステップを理解していません。あなたが持っている場合は、POSTリクエストとリクエストボディとクエリパラメータのURLは何ですか? –

+0

@bhuvaneswarikalimuthuリクエスト本体はありませんが、クエリパラメータの中にあります。私はすでにパラメータを説明しています(__v = 5&diffParameters = [データ1]&repositoryId = [リポジトリID])、最初の1つ(データ1)はJSONデータです、私の答えにサンプルがあり、もう1つのパラメータはリポジトリですid。あなたが不明なパラメータは何ですか? –

+0

ありがとう...働いて...しかし、このAPIはTFSの残りのAPIの参照には何も言及されていません。 –

関連する問題