2011-06-29 7 views
3

私の同僚の一人は、開発者がチェックインするたびに新しいビルドを作成し、ビルドが完了したら電子メールを開発チームに送信する、Continuous Integrationビルドスクリプトに取り組んでいます。チェックインに関連するコメント(プロジェクトファイルを右クリックして履歴を表示すると表示されるコメントと同じコメント)を電子メールに追加します。しかし、私たちはTFSのバックエンドでスクリプトを指して、それらのコメントを取得できる場所がどこにないかはわかりません。誰が私たちがどこに見えるべきか知っていますか?Team Foundation Serverの変更セットコメントの場所?

+0

あなたはTFSビルドサーバーの部品を配備していませんか? – NotMe

答えて

4

あなたはTFS APIを使用していますか?もしそうなら、あなたは、単に実行します。

TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer("http://WhateverServerUrl"); 
IBuildServer buildServer = (IBuildServer)tfs.GetService(typeof(IBuildServer)); 
VersionControlServer VsServer = (VersionControlServer)tfs.GetService(typeof(VersionControlServer)); 
IBuildDetail build = buildServer.GetAllBuildDetails(new Uri("http://WhateverBuildUrl")); 

List<IChangesetSummary> associatedChangesets = InformationNodeConverters.GetAssociatedChangesets(build); 

foreach (IChangesetSummary changeSetData in associatedChangesets) 
{ 
    Changeset changeSet = VsServer.GetChangeset(changeSetData.ChangesetId); 
    string x = changeSet.Comment; 
} 

あなたがDBにそれをルックアップするためにしようとしている場合、あなたはチェンジセットのタイトルを見ることができます:ここから

USE tfs_warehouse 
SELECT [ChangesetID] 
     ,[ChangesetTitle] 
    FROM [tfs_warehouse].[dbo].[DimChangeset] 

することのいずれかにwhere句を追加しますIDは、そのデータは、TFS 2008年に

TFS 2010に格納されるなど日付

これは、あなたがTfsWarehouseを使用してdbo.ChangeSet Changset欄になります。

+0

私たちはMSビルドスクリプトを使用しているので、APIをその方法で使用できるかどうかはわかりません。それが可能かどうか知っていますか? – estanford

+2

カスタムタスクを追加するだけです。 Microsoft.TeamFoundation.Client、Microsoft.TeamFoundation.VersionControl.Client、Microsoft.TeamFoundation.Build.Clientを使用してそのカスタムタスクリファレンスを作成し、そのコードを記述する必要があります。 –

+0

カスタムタスクを書く上で助けが必要な場合は、googleといくつかの例を見つけることができますが、基本的にはプロジェクトを作成してビルドするだけです。そのカスタムタスクのdllと参照をMSBuildスクリプトに入れてください。もちろん、あなたのプロジェクトは他のプロジェクトと同様に、前述のアセンブリを参照することができます。 –

関連する問題