public JiraAggregator(IRobot robot) : base("Jira Aggregator", robot) { _settings = new List <IPluginSetting> { new PluginSetting(Robot, this, "AtlassianJiraNotifyRoomName"), new PluginSetting(Robot, this, "AtlassianJiraHipchatAuthToken") }; _jiraMessageBuilder = new JiraMessageBuilder(JiraBaseUrl); _subject = new Subject <JiraModel>(); var maxWaitDuration = TimeSpan.FromMinutes(3.0); _subject .GroupBy(model => model.issue.key) .SelectMany(grp => grp.Publish(hot => hot.Buffer(() => hot.Throttle(maxWaitDuration, Scheduler)))) .Subscribe(SendNotification); Robot.Messenger.Subscribe <JiraModel>("JiraEvent", OnJiraEvent); }
public JiraAggregator(IRobot robot) : base("Jira Aggregator", robot) { _settings = new List<IPluginSetting> { new PluginSetting(Robot, this, "AtlassianJiraNotifyRoomName"), new PluginSetting(Robot, this, "AtlassianJiraHipchatAuthToken") }; _jiraMessageBuilder = new JiraMessageBuilder(JiraBaseUrl); _subject = new Subject<JiraModel>(); var maxWaitDuration = TimeSpan.FromMinutes(3.0); _subject .GroupBy(model => model.issue.key) .SelectMany(grp => grp.Publish(hot => hot.Buffer(() => hot.Throttle(maxWaitDuration, Scheduler)))) .Subscribe(SendNotification); Robot.EventEmitter.On<JiraModel>("JiraEvent", OnJiraEvent); }