Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }