예제 #1
0
        protected override ValidationResult PopulateSettings(SettingsContainer settings)
        {
            var baseResult = base.PopulateSettings(settings);

            if (!baseResult.IsSuccess)
            {
                return(baseResult);
            }

            Uri repoUri;

            if (!Uri.TryCreate(GitHubRepositoryUri, UriKind.Absolute, out repoUri))
            {
                return(ValidationResult.Failure($"Bad GitHub repository URI: '{GitHubRepositoryUri}'"));
            }

            settings.ModalSettings.Mode       = RunMode.Repository;
            settings.ModalSettings.Repository = GitSettingsReader.ReadRepositorySettings(repoUri);

            if (settings.ModalSettings.Repository == null)
            {
                return(ValidationResult.Failure($"Cound not read GitHub repository URI: '{GitHubRepositoryUri}'"));
            }

            return(ValidationResult.Success);
        }
예제 #2
0
        protected override ValidationResult PopulateSettings(SettingsContainer settings)
        {
            var baseResult = base.PopulateSettings(settings);

            if (!baseResult.IsSuccess)
            {
                return(baseResult);
            }

            Uri repoUri;

            if (!Uri.TryCreate(GitHubRepositoryUri, UriKind.Absolute, out repoUri))
            {
                return(ValidationResult.Failure($"Bad GitHub repository URI: '{GitHubRepositoryUri}'"));
            }

            settings.SourceControlServerSettings.Repository = GitSettingsReader.ReadRepositorySettings(repoUri);

            if (settings.SourceControlServerSettings.Repository == null)
            {
                return(ValidationResult.Failure($"Could not read GitHub repository URI: '{GitHubRepositoryUri}'"));
            }

            settings.UserSettings.MaxRepositoriesChanged = 1;
            settings.SourceControlServerSettings.Scope   = ServerScope.Repository;
            return(ValidationResult.Success);
        }
예제 #3
0
        protected override ValidationResult PopulateSettings(SettingsContainer settings)
        {
            var baseResult = base.PopulateSettings(settings);

            if (!baseResult.IsSuccess)
            {
                return(baseResult);
            }

            var apiBase = GithubEndpointWithFallback();

            if (string.IsNullOrWhiteSpace(apiBase))
            {
                return(ValidationResult.Failure("No GitHub Api base found"));
            }

            if (!Uri.TryCreate(apiBase, UriKind.Absolute, out var githubUri))
            {
                return(ValidationResult.Failure($"Bad GitHub Api base '{GithubApiEndpoint}'"));
            }

            var token = ReadToken();

            if (string.IsNullOrWhiteSpace(token))
            {
                return(ValidationResult.Failure("The required GitHub access token was not found"));
            }

            var githubUrl = GitSettingsReader.EnsureTrailingSlash(githubUri);

            var fileSettings = FileSettingsCache.Get();

            settings.GithubAuthSettings = new GithubAuthSettings(githubUrl, token);

            settings.UserSettings.ConsolidateUpdatesInSinglePullRequest =
                Concat.FirstValue(Consolidate, fileSettings.Consolidate, false);


            const int defaultMaxPullRequests = 3;

            settings.PackageFilters.MaxPackageUpdates =
                Concat.FirstValue(MaxPullRequestsPerRepository, fileSettings.MaxPr, defaultMaxPullRequests);

            settings.UserSettings.ForkMode   = ForkMode;
            settings.UserSettings.ReportMode = ReportMode;

            var defaultLabels = new[] { "nukeeper" };

            settings.SourceControlServerSettings.Labels =
                Concat.FirstPopulatedList(Label, fileSettings.Label, defaultLabels);

            return(ValidationResult.Success);
        }
예제 #4
0
        protected override ValidationResult PopulateSettings(SettingsContainer settings)
        {
            var baseResult = base.PopulateSettings(settings);

            if (!baseResult.IsSuccess)
            {
                return(baseResult);
            }

            if (string.IsNullOrWhiteSpace(GithubApiEndpoint))
            {
                return(ValidationResult.Failure("No GitHub Api base found"));
            }


            Uri githubUri;

            if (!Uri.TryCreate(GithubApiEndpoint, UriKind.Absolute, out githubUri))
            {
                return(ValidationResult.Failure($"Bad GitHub Api base '{GithubApiEndpoint}'"));
            }

            var token = ReadToken();

            if (string.IsNullOrWhiteSpace(token))
            {
                return(ValidationResult.Failure("The required GitHub access token was not found"));
            }

            var githubUrl = GitSettingsReader.EnsureTrailingSlash(githubUri);

            settings.GithubAuthSettings = new GithubAuthSettings(githubUrl, token);

            settings.UserSettings.MaxRepositoriesChanged       = AllowedMaxRepositoriesChangedChange;
            settings.UserSettings.MaxPullRequestsPerRepository = MaxPullRequestsPerRepository;
            settings.UserSettings.ForkMode   = ForkMode;
            settings.UserSettings.ReportMode = ReportMode;

            settings.ModalSettings.Labels = Label;

            return(ValidationResult.Success);
        }