0
コードレビューのために私に提出されたすべてのファイル(100以上)をダウンロードしたいと思います。すべてのVSTSコードレビュー/シェルフセットファイルをダウンロードするには
私は単一のファイルをダウンロードできますが、それは遅くなることがわかります。コードレビューのシェルフセット内のすべてのファイルをダウンロードできますか? VS2015とVSバージョンコントロール(GITではなく)を使用しています。
コードレビューのために私に提出されたすべてのファイル(100以上)をダウンロードしたいと思います。すべてのVSTSコードレビュー/シェルフセットファイルをダウンロードするには
私は単一のファイルをダウンロードできますが、それは遅くなることがわかります。コードレビューのシェルフセット内のすべてのファイルをダウンロードできますか? VS2015とVSバージョンコントロール(GITではなく)を使用しています。
ファイルをプログラムによってVSTS Rest API:Get shelveset changesとGet a fileでダウンロードできます。
のPowerShellを通じてそれを行うには簡単なサンプル:
function DownloadShelvesetFiles{
param(
[string]$shelveUrl
)
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f 'test','[personal access token]')))
$shelveChanges = Invoke-RestMethod -Method GET -Uri $shelveUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
foreach($c in $shelveChanges.value){
$filepath=$c.item.path -replace "\$","D:/shelveFiles"
$folderPath=$filepath.subString(0,$filePath.LastIndexof("/"))
if(!(Test-Path -PathType Container $folderPath)){
new-item -ItemType Directory -force $folderPath
}
Invoke-RestMethod -Method GET -Uri $c.item.url -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} | Out-File -filepath $filepath
}
}
DownloadShelvesetFiles -shelveUrl "https://XXX.visualstudio.com/DefaultCollection/_apis/tfvc/shelvesets/CodeReview_2017-10-20_10.00.50.5978;af97843e-4341-49f4-a11d-283a7ba6da57/changes?maxChangeCount=100&api-version=1.0-preview.1"
こんにちは@のstarain-MSFTは、サンプルをありがとうございました。私が必要とするもののように見えます。しかし、私は認証方法について確信が持てませんか?我々は、Azure ADを実行しているシングルサインを統合しました。 – Karl
@Karl [個人アクセストークン](https://docs.microsoft.com/en-us/vsts/accounts/use-personal-access-tokens-to-authenticate)を使用することができます。 ([個人アクセストークン]をトークンに置き換えてください) –
@Karl個人アクセストークンで試した結果はどうなりますか? –