private void OnInterval(object pubobj) { try { var bugs = bugzillaReader.GetBugs(); if (bugs.Count > 0) { logger.Log(string.Format("Found {0} issues in Bugzilla to create in VersionOne.", bugs.Count)); } foreach (var bug in bugs) { bug.ExternalSystemName = sourceFieldValue; eventManager.Publish(bug); } var source = new ClosedWorkitemsSource(sourceFieldValue); eventManager.Publish(source); } catch (Exception ex) { logger.Log(LogMessage.SeverityType.Error, "Error getting Issues from Bugzilla:"); logger.Log(LogMessage.SeverityType.Error, ex.ToString()); } }
/// <summary> /// Timer interval on which to poll JIRA. See app config file for time in milliseconds. /// </summary> /// <param name="pubobj">Not used</param> private void OnInterval(object pubobj) { logger.Log(LogMessage.SeverityType.Info, "Starting processing..."); IList <Workitem> workitems = new List <Workitem>(); try { logger.Log(LogMessage.SeverityType.Info, "Getting issues from JIRA."); if (jiraConfig.OpenDefectFilter.Enabled) { var bugs = jiraProcessor.GetIssues <Defect>(jiraConfig.OpenDefectFilter.Id); if (bugs.Count > 0) { logger.Log(string.Format("Found {0} defects in JIRA to create in VersionOne.", bugs.Count)); } foreach (var bug in bugs) { workitems.Add(bug); } } if (jiraConfig.OpenStoryFilter.Enabled) { var stories = jiraProcessor.GetIssues <Story>(jiraConfig.OpenStoryFilter.Id); if (stories.Count > 0) { logger.Log(string.Format("Found {0} stories in JIRA to create in VersionOne.", stories.Count)); } foreach (var story in stories) { workitems.Add(story); } } } catch (Exception ex) { logger.Log(LogMessage.SeverityType.Error, string.Format("Error getting Issues from JIRA: {0}", ex.Message)); return; } logger.Log(LogMessage.SeverityType.Info, "Checking JIRA issues for duplicates."); workitems = workitems.Distinct().ToList(); // Create Workitem in V1 foreach (var item in workitems) { item.ExternalSystemName = jiraConfig.SourceFieldValue; eventManager.Publish(item); } // Query VersionOne for Closed defects with a JIRA Source Id var source = new ClosedWorkitemsSource(jiraConfig.SourceFieldValue, VersionOneProcessor.PrimaryWorkitemType); eventManager.Publish(source); logger.Log(LogMessage.SeverityType.Info, "Processing finished."); }