From 05a9e30666b8fc729a3120ace27bad76fba1e136 Mon Sep 17 00:00:00 2001 From: Ian Montgomery Date: Fri, 23 Sep 2016 18:06:11 +0100 Subject: [PATCH] Fixes for * #12: "There is no Project named X in Source Control". * #09: "Error: The given key was not present in the dictionary". See https://github.com/KilskyreMan/JiraToTfs/issues --- TicketImporter/TfsPriorityMap.cs | 3 ++- TicketImporter/TfsProject.cs | 21 +++++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/TicketImporter/TfsPriorityMap.cs b/TicketImporter/TfsPriorityMap.cs index 21b3256..baf3853 100644 --- a/TicketImporter/TfsPriorityMap.cs +++ b/TicketImporter/TfsPriorityMap.cs @@ -77,7 +77,8 @@ public void RestoreDefaults() {"Blocker", "1"}, {"Critical", "1"}, {"Major", "2"}, - {"Minor", "3"}, + {"Medium", "3" }, + {"Minor", "4"}, {"Trivial", "4"} }; SettingsStore.Save(key, map); diff --git a/TicketImporter/TfsProject.cs b/TicketImporter/TfsProject.cs index e2f416a..e5a91c0 100644 --- a/TicketImporter/TfsProject.cs +++ b/TicketImporter/TfsProject.cs @@ -230,18 +230,23 @@ private void onDetailedProcessing(string ticket) private string getProcessTemplateName(string project) { - var vcs = tfs.GetService(); var ics = tfs.GetService(); - var p = vcs.GetTeamProject(project); - string projectName, projectState; - int templateId; - ProjectProperty[] projectProperties; + var projectInfo = ics.GetProjectFromName(project); - ics.GetProjectProperties(p.ArtifactUri.AbsoluteUri, out projectName, out projectState, out templateId, - out projectProperties); + if (projectInfo != null) + { + string projectName, projectState; + int templateId; + ProjectProperty[] projectProperties; + + ics.GetProjectProperties(projectInfo.Uri, out projectName, out projectState, out templateId, + out projectProperties); + + return projectProperties.Where(pt => pt.Name == "Process Template").Select(pt => pt.Value).FirstOrDefault(); + } - return projectProperties.Where(pt => pt.Name == "Process Template").Select(pt => pt.Value).FirstOrDefault(); + return ("(Unable to determine)"); } private void assignToField(WorkItem workItem, string fieldName, object value)