TFS カスタムアクティビティの作成

自分で機能拡張できるのもTFSのいいところということで、カスタムアクティビティを作成してみます。
主要なところ(というか、ほぼ^ ^;)は、「C#.NETでいく? TFS2010ビルド テンプレートのカスタマイズ(1)」以降と「Ewald Hofman Customize Team Build 2010 – Part 1: Introduction」以降を参考にさせて頂きました。

VSで新規プロジェクトを作成します。テンプレートから「アクティビティ ライブラリ」を選択します。

Act012

プロジェクト作成後、TFSのライブラリ(Microsoft.TeamFoundation.Build.Client)を追加します。

Act013


Act015

次に、プロジェクトにWorkflowテンプレートからコードアクティビティのクラスを追加します。

Act016


Act017

詳細は割愛させて頂いて、以下のようなソースに変更します。

Act018

変更概要としては
 ・Microsoft.TeamFoundation.Build.Clientを参照追加
 ・クラス属性として「[BuildActivity(HostEnvironmentOption.All)]」を追加
  →これを指定しないと実行時にエラーになります
 ・ワークフローで指定してもらうプロパティを追加する
  最初の「BuildDetail」は、ビルド結果が格納されているオブジェクトになります
 ・BuildDetailに対して、リンク形式の出力結果を追加する
  AddExternalLinkについての詳細はこちら
という感じです。

一旦ビルドを実行し、エラーがなければワークフローにおいてみます。
プロジェクトにある「Activity1.xaml」を開き、ツールボックスの「CustomActivities」タブに「WriteExternalLink」があるはずです。これをワークフローエディタにドロップし、プロパティで3つの引数が指定できる状態であればOKです。

Act020


Act021

次は、作成したアクティビティを展開する方法についてです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください