2016-02-27 11 views
13

既存のVisual Studio Team Serviceプロジェクトから特定のビルドセットを新しいプロジェクトに移動します。残念ながら、あるプロジェクトから別のプロジェクトにビルド定義を移行する方法を見つけることはできません。インポート/エクスポート機能や別のメカニズムがないようです。Visual Studio Team Serviceビルドを新しいプロジェクトにコピーする方法

新しいプロジェクトのビルドを手動で再作成せずにこれらを移動する方法はありますか?

答えて

3

チームプロジェクト間でvnextビルド定義テンプレートをコピーまたは同期する方法はありません。ビルド定義テンプレートは、現在のチームプロジェクト用です。したがって、チームプロジェクトごとにビルド定義テンプレートを作成する必要があります。

もありましたユーザーで機能要求の声、あなたがアップに投票し、それが

VSO vnextを構築し監視することができます:共有、プロジェクト https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/8468566-vso-build-vnext-share-build-templates-between-pro

間でテンプレートを作成しますただし、APIを使用して達成することができます、ここではsimple toolを使用することができます(同じチームプロジェクトコレクションに必要)

1

これを実行するにはREST APIを使用できます。表示例はhereです。

それは、ビルド定義のJSONレスポンスを取得する方法を示して、もう一度あなたは、次のような何かを行うことができ

2

を望むプロジェクトに新しいものを作るために、同一の参照を使用して:

$project1Url = "http://tfs:8080/tfs/collection/project1/_apis/build/definitions/$($buildId)?api-version=2.0" 
$obj = Invoke-RestMethod -Uri $project1Url -Method Get -ContentType "application/json" -UseDefaultCredentials 

$obj.project = $null 

#TODO: Update all repository/source control info, too. 

$json = ConvertTo-Json $obj -Depth 3 

$project2Url = "http://tfs:8080/tfs/collection/project2/_apis/build/definitions/?api-version=2.0" 
Invoke-RestMethod -Uri $url -Method Post -Body $json -ContentType "application/json" -UseDefaultCredentials 

要点は、ソースプロジェクト(projec1)から既存の定義を取得し、プロジェクト関係をクリアし、必要に応じて新しいリポジトリ情報を設定し、ターゲットプロジェクト(project2)にポスト(create)として新しいdefを送信します。

+0

変更するビルドjsonペイロードの例:http://www.ericksegaar.com/2015/10/16/using-json-via-rest-to-create-build-definitions-in-vso/ – JoeBrockhaus

9

これは、定義のWeb UIを構築するVSTS内から利用できるようになりました。

関連する問題