この記事はTFS Advent Calendarの16日目の記事です。
サイトはこちら:http://atnd.org/events/22819
プロジェクト一式はこちらです。
今回は、作業項目に添付ファイルを貼り付けてみます。また、添付ファイルのダウンロードもやってみます。
Main
今回に関係するコードのみ載せます
添付ファイル付き作業項目の作成
通常通り作業項目を埋めていきます。添付ファイルはWorkItem.Attachmentsにリストされるので、ここに追加します。新しい添付ファイルの指定はファイル名でおこないます。
// 添付ファイル付の作業項目を作成する WorkItem newItem = tfs.GetNewWorkItem( "タスク" ); newItem.Title = "作業項目の概要です"; newItem.Description = "作業項目の詳細です"; newItem.Attachments.Add( new Attachment( @"Z:\kaorun\work\tfs_sandbox\TFS_AdventCalendar\AddAttachments\Program.cs" ) ); newItem.Save();
作業項目の添付ファイルをダウンロードする
リストされているWorkItem.Attachmentsを回し、Attachment .Uriに、TFSでのファイルの格納パスがあるので、それをWebClient を使ってダウンロードしています。
// 添付ファイルをダウンロードする WebClient request = new WebClient(); request.Credentials = CredentialCache.DefaultCredentials; foreach ( Attachment attachment in newItem.Attachments ) { Console.WriteLine( attachment.Name ); request.DownloadFile( attachment.Uri, Path.Combine( @"C:\Users\kaorun55\Desktop", attachment.Name ) ); }
TfsClient
新しいチケットを返すメソッドを作りました。作業種別(タスク/バグ)を外からもらって、WorkItemを返します
public WorkItem GetNewWorkItem( string workItemType ) { return new WorkItem( teamProject.WorkItemTypes[workItemType] ); }
まとめ
簡単に添付ファイルのアクセスができました。
ほかのBTSからの移行にも使えて便利です。