TFS と Outlook はもっとうまく接続できると思うので、TFS を少しカスタマイズしようとしています。
これが正しければ、TFS WorkItem を開くには、TeamLook ウィンドウまたは Visual Studio アドイン ウィンドウの 2 つのオプションがあります。
開発者だけでなく、すべてのユーザー向けのアドインを作成したいので、私の目標は TeamLook でウィンドウを自動的に開くことです。
メール添付ファイルを PBI に自動的に追加するなど、いくつかの基本的なものを作成しました。
foreach (MailItem mailItem in sel)
{
int id;
if (Helper.TryGettingTaskId(mailItem.Subject, out id))
{
WorkItem wi = TfsHandler.GetWorkitems(f => f.Id == id).FirstOrDefault();
if (wi != null)
{
if (wi.Type.Name == ITEM_TYPE_NAME_TASK)
{
if (wi.WorkItemLinks.Count == 0)
throw new System.Exception("Task without PBI found");
wi = TfsHandler.GetWorkitems(f => f.Id == wi.WorkItemLinks[0].TargetId).First();
}
string fileName = Path.GetInvalidFileNameChars().Aggregate(mailItem.Subject + ".msg", (current, c) => current.Replace(c.ToString(), "_"));
string path = Path.Combine(Path.GetTempPath(), fileName);
mailItem.SaveAs(path, OlSaveAsType.olMSG);
long attCnt = wi.Attachments.Count;
wi.Attachments.Add(new Microsoft.TeamFoundation.WorkItemTracking.Client.Attachment(path, Helper.GetAttachmentComment()));
wi.Save();
if (attCnt == wi.Attachments.Count)
MessageBox.Show("Could not save Attachment");
wi.Close();
File.Delete(path);
}
}
}
すべて正常に動作しますが、TeamLook ウィンドウとのやり取りがさらに必要になります。標準パス (C:\Program Files (x86)\TeamSolutions\TeamLook) で見つかったすべての TeamLook DLL を参照しましたが、機能していないようです。
このアセンブリに関する情報が得られないので、自分の好きなように使用することさえ許可されているかどうか自問しています。
これがまったく機能しない場合、これに対する他の解決策はありますか?
いつものように、すべてのフィードバックに感謝します
マティアス・ミュラー