/// <summary>
        /// Runs the orchestrator.
        /// Posts new issues, ignoring duplicate comments and resolves comments that were open in an old iteration
        /// of the pull request.
        /// </summary>
        /// <param name="issueProviders">List of issue providers to use.</param>
        /// <param name="settings">Settings.</param>
        /// <returns>Information about the reported and written issues.</returns>
        public PullRequestIssueResult Run(
            IEnumerable <IIssueProvider> issueProviders,
            IReportIssuesToPullRequestFromIssueProviderSettings settings)
        {
            // ReSharper disable once PossibleMultipleEnumeration
            issueProviders.NotNullOrEmptyOrEmptyElement(nameof(issueProviders));
            settings.NotNull(nameof(settings));

            // ReSharper disable once PossibleMultipleEnumeration
            var issuesReader =
                new IssuesReader(this.log, issueProviders, settings);

            return(this.Run(issuesReader.ReadIssues(), settings));
        }
Example #2
0
        public static PullRequestIssueResult ReportIssuesToPullRequest(
            this ICakeContext context,
            IIssueProvider issueProvider,
            IPullRequestSystem pullRequestSystem,
            IReportIssuesToPullRequestFromIssueProviderSettings settings)
        {
            context.NotNull(nameof(context));
            issueProvider.NotNull(nameof(issueProvider));
            pullRequestSystem.NotNull(nameof(pullRequestSystem));
            settings.NotNull(nameof(settings));

            return
                (context.ReportIssuesToPullRequest(
                     new List <IIssueProvider> {
                issueProvider
            },
                     pullRequestSystem,
                     settings));
        }
Example #3
0
        public static PullRequestIssueResult ReportIssuesToPullRequest(
            this ICakeContext context,
            IEnumerable <IIssueProvider> issueProviders,
            IPullRequestSystem pullRequestSystem,
            IReportIssuesToPullRequestFromIssueProviderSettings settings)
        {
            context.NotNull(nameof(context));
            pullRequestSystem.NotNull(nameof(pullRequestSystem));
            settings.NotNull(nameof(settings));

            // ReSharper disable once PossibleMultipleEnumeration
            issueProviders.NotNullOrEmptyOrEmptyElement(nameof(issueProviders));

            var orchestrator =
                new Orchestrator(
                    context.Log,
                    pullRequestSystem);

            // ReSharper disable once PossibleMultipleEnumeration
            return(orchestrator.Run(issueProviders, settings));
        }