public GitLabClient(GitLabOptions gitLabOptions) { if (gitLabOptions == null) { throw new ArgumentNullException(nameof(gitLabOptions)); } if (string.IsNullOrEmpty(gitLabOptions.ApiUrl)) { throw new ArgumentNullException(nameof(gitLabOptions.ApiUrl)); } if (string.IsNullOrEmpty(gitLabOptions.PrivateToken)) { throw new ArgumentNullException(nameof(gitLabOptions.PrivateToken)); } this.gitOptions = gitLabOptions; ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12; this.client = new HttpClient(); this.client.DefaultRequestHeaders.Add("PRIVATE-TOKEN", gitOptions.PrivateToken); this.settings = new JsonSerializerSettings { DefaultValueHandling = DefaultValueHandling.Ignore }; }
public GitLabController(ILogger <GitLabController> logger, IMessageSender messageSender, IOptions <GitLabOptions> options) { _logger = logger; _messageSender = messageSender; _options = options.Value; }
public static string GetWorkingOrTempDirectory(this GitLabOptions options) { var workingDirectory = !string.IsNullOrWhiteSpace(options.WorkingDirectory) ? options.WorkingDirectory : Path.Combine(Path.GetTempPath(), "GitLabCodeReview"); return(workingDirectory); }
public void RefreshOptions(GitLabOptions gitLabOptions) { this.options = gitLabOptions; this.SchedulePropertyChanged(nameof(this.ApiUrl)); this.SchedulePropertyChanged(nameof(this.SelectedProjectId)); this.SchedulePropertyChanged(nameof(this.RepositoryLocalPath)); this.SchedulePropertyChanged(nameof(this.WorkingDirectory)); this.SchedulePropertyChanged(nameof(this.AutoCleanWorkingDirectory)); }
public MergeRequestNotifier( IMergeRequestsProvider mergeRequestsProvider, IOptions <GitLabOptions> gitLabOptions, IUsersRepository usersRepository, IBotService botService) { this.gitLabOptions = gitLabOptions.Value; this.mergeRequestsProvider = mergeRequestsProvider; this.usersRepository = usersRepository; this.botService = botService; }
public ListReviewsCommand( IBotService botService, IUsersRepository usersRepository, IOptions <GitLabOptions> gitLabOptions, IMergeRequestsProvider mergeRequestsProvider) { this.gitLabOptions = gitLabOptions.Value; this.botService = botService; this.usersRepository = usersRepository; this.mergeRequestsProvider = mergeRequestsProvider; }
public static void SetFavoriteProjects(this GitLabOptions options, IEnumerable <long> ids) { if (options == null) { return; } var favoritesString = string.Join(Comma, ids); options.FavoriteProjects = favoritesString; }
public MergeRequestProcessor(IGitLabApi api, IRepositoryCache repositoryCache, ICodeOwnersChangeset changeset, ILogger <MergeRequestProcessor> logger, IOptions <GitLabOptions> options) { _api = api; _repositoryCache = repositoryCache; _changeset = changeset; _logger = logger; _options = options.Value; }
public GitLabApi(IOptions <GitLabOptions> options, ILogger <GitLabApi> logger) { _logger = logger; _options = options.Value; if (string.IsNullOrEmpty(_options.ServerUrl)) { throw new Exception("You must provide a GitLab server url."); } if (string.IsNullOrEmpty(_options.AuthenticationToken)) { throw new Exception("You must provide a GitLab authentication token."); } }
public static bool IsFavoriteProject(this GitLabOptions options, long projectId) { if (options == null || options.FavoriteProjects == null) { return(false); } var favoriteStrings = options.FavoriteProjects.Split(new[] { Comma }, StringSplitOptions.RemoveEmptyEntries); foreach (var idString in favoriteStrings) { long tempId; if (long.TryParse(idString, out tempId) && tempId == projectId) { return(true); } } return(false); }