6

デプロイされた最後のビルド以降の変更セットと関連する作業項目の履歴に基づいて、プログラムでデプロイ メールを生成しています。これらは、Visual Studio 内のビルド サマリー情報に少し似ています (ただし、多くのビルドが組み合わされています)。

データには便利な URL があるように見えますが ( などvstfs:///VersionControl/Changeset/205151)、TFS SDK を初めて使用するので、これが表示可能なアイテムにマップされるかどうか/どのようにマップされるかはわかりません (例: http:// tfsserver:port/somepath /...)。Visual Studio 内のビルド サマリー リンクはクリック可能ですが、VS のみのリンクですか?

可能であれば、関連項目を開くリンクを電子メールに含めたい (ブラウザーで?) ため、TFS パスが Web ブラウジング可能かどうかを知る必要があると思います。

提案を歓迎します。ありがとう。

4

4 に答える 4

13

これは、作業項目にアクセスするために使用している URL です。

=>http://ServerName:PortNumber/tfs/web/wi.aspx?id=xxidxx

編集 私が指定した形式は、TFS 2010 で機能します。基本的に、Web ビューで作業項目へのパスを生成します。これをクリックすると、ワークアイテムが Web ビューで開きます。

別の方法として、ナビゲート可能な URL をプログラムで取得することもできます。

var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("TFSURL"));
var versionControl = tfs.GetService<ICommonStructureService>();

var projects = versionControl.ListAllProjects();

var myService = tfs.GetService<TswaClientHyperlinkService>();

var myUrl = myService.GetChangesetDetailsUrl(21);

したがって、サービス " TswaClientHyperlinkService " は、Microsoft の TFS ハイパーリンク サービスです。これにより、絶対パス、相対パス、パス、およびクエリの URL 形式が生成されます。

HTH、

乾杯、タルン

PS - 私は間違っているのが嫌いです!!! ハハハ... ここに画像の説明を入力

編集 そして、あなたの場合、利用可能なURIがあり、すでにTFS APIを使用しているので、これらの2行のコードでうまくいきます。

var testManagementService = tfs.GetService<ILinking>();
var testControllers = testManagementService.GetArtifactUrl(@"vstfs:///VersionControl/Changeset/205151");

これにより、https://ServerName:PortNumber/defaultcollection/VersionControl/Changeset.aspx?artifactMoniker=205151

HTH、

乾杯、タルン

于 2011-06-25T20:27:43.007 に答える
6

以下は、作業項目にアクセスするための標準的な URL のようです

http://TFS_Name:port_number/WorkItemTracking/Workitem.aspx?artifactMoniker=work_Item_Id

于 2011-06-24T10:31:56.307 に答える
3

vstfs リンクは「アーティファクト ID」と呼ばれ、TFS クライアントによってのみ消費されると予想される TFS の内部データです。TFS クライアントはそのデータを解析し、そのデータを表示する方法を決定します。あなたが提供するようなチェンジセットリンクの場合、リッチクライアントはチェンジセットの詳細を含むダイアログを開きます。Web クライアントは、そのリンクを URI に変換します。また、さまざまな TFS ライブラリは、その ID を使用して、このアーティファクトに関するより多くのデータを提供できます。

TFS Web アクセスへの独自のリンクを作成する場合、厳密に適切な方法は、サーバー上の情報を照会することです。TswaClientHyperlinkService を取得したら、変更セットの表示や作業項目の表示など、さまざまなサービスの Web アクセス URI を照会できます。Martin Woodward のブログにいくつかの例が示されています。

于 2011-06-24T13:44:21.913 に答える