public void TestGitLab(PropertyInfo property, GitLab instance) { AssertProperty(instance, property); Assert.True(instance.Ci); Assert.True(instance.GitLabCi); Assert.True(instance.Server); }
private Task <IEnumerable <MergeRequest> > loadMergeRequests(GitLab gl, MergeRequestsFilter filter) { if (_query.MaxResults.HasValue && !String.IsNullOrWhiteSpace(_query.ProjectName)) { return(gl .Projects .Get(_query.ProjectName) .MergeRequests .LoadTaskAsync(filter, getTrivialPageFilter())); } else if (_query.MaxResults.HasValue) { return(gl .MergeRequests .LoadTaskAsync(filter, getTrivialPageFilter())); } else if (!String.IsNullOrWhiteSpace(_query.ProjectName)) { return(gl .Projects .Get(_query.ProjectName) .MergeRequests .LoadAllTaskAsync(filter)); } else { return(gl .MergeRequests .LoadAllTaskAsync(filter)); } }
async protected Task <IEnumerable <MergeRequest> > load(GitLab gl, string projectname, int?maxResults, MergeRequestsFilter filter) { Task <IEnumerable <MergeRequest> > t = maxResults.HasValue ? gl.Projects.Get(projectname).MergeRequests.LoadTaskAsync(filter, new PageFilter(maxResults.Value, 1)) : gl.Projects.Get(projectname).MergeRequests.LoadAllTaskAsync(filter); return(await t); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); PowerShell ps = new PowerShell(); GitLab gitlab = new GitLab("http://192.168.10.15"); gitlab.UpdateJobStatus(); }
public async override Task <IEnumerable <MergeRequest> > Process(GitLab gl, int?_) { string lowercaseLabel = Constants.GitLabLabelPrefix + _username.ToLower(); IEnumerable <MergeRequest> byLabel = await loadByLabel(gl, lowercaseLabel); IEnumerable <MergeRequest> byAuthor = await loadByAuthor(gl, _username); return(byLabel .Concat(byAuthor) .GroupBy(x => x.Id) // filter out non-unique, important to use Id because search is cross-project .Select(group => group.First())); }
public async override Task <IEnumerable <MergeRequest> > Process(GitLab gl, int?_) { MergeRequest mergeRequest = await gl.Projects.Get(_projectname).MergeRequests.Get(_iid).LoadTaskAsync(); if (mergeRequest == null) { return(Array.Empty <MergeRequest>()); } if (_stateFilter == MergeRequestsFilter.StateFilter.All || (_stateFilter == MergeRequestsFilter.StateFilter.Closed && mergeRequest.State == "closed") || (_stateFilter == MergeRequestsFilter.StateFilter.Merged && mergeRequest.State == "merged" || (_stateFilter == MergeRequestsFilter.StateFilter.Open && mergeRequest.State == "opened"))) { return(new MergeRequest[] { mergeRequest }); } return(Array.Empty <MergeRequest>()); }
async internal Task <IEnumerable <MergeRequest> > Process(GitLab gl) { // See restrictions at https://docs.gitlab.com/ee/api/README.html#offset-based-pagination Debug.Assert(!_query.MaxResults.HasValue || _query.MaxResults.Value <= 100); int?authorId = await getAuthorId(gl); int? iid = getIId(); string labels = getLabels(); string stateFilter = getStateFilter(); MergeRequestsFilter.WorkInProgressFilter wipStatus = getWIPFilter(); MergeRequestsFilter filter = new MergeRequestsFilter(labels, wipStatus, stateFilter, false, _query.Text, _query.TargetBranchName, iid.HasValue ? new int[] { iid.Value } : null, authorId); IEnumerable <MergeRequest> mergeRequests = await loadMergeRequests(gl, filter); return(filterMergeRequests(iid, mergeRequests, stateFilter)); }
async private Task <IEnumerable <MergeRequest> > loadByAuthor(GitLab gl, string username) { User user = GlobalCache.GetUser(gl.Host, username); if (user == null) { IEnumerable <User> users = await gl.Users.SearchByUsernameTaskAsync(username); if (users == null || !users.Any()) { return(System.Array.Empty <MergeRequest>()); } user = users.First(); GlobalCache.AddUser(gl.Host, user); } return(await load(gl, null, new MergeRequestsFilter( null, _wipFilter, _stateFilter, false, null, null, null, user.Id))); }
async private Task <int?> getAuthorId(GitLab gl) { if (!String.IsNullOrEmpty(_query.AuthorUserName)) { User user = GlobalCache.GetUser(gl.Host, _query.AuthorUserName); if (user == null) { IEnumerable <User> users = await gl.Users.SearchByUsernameTaskAsync(_query.AuthorUserName); if (users == null || !users.Any()) { return(null); } user = users.First(); GlobalCache.AddUser(gl.Host, user); } return(user.Id); } return(null); }
public override abstract Task <IEnumerable <MergeRequest> > Process(GitLab gl, int?maxResults);
internal GitLabTask(string host, string token, Func <GitLab, Task <object> > func) { _gitlab = new GitLab(host, token); _func = func; }
public override Task <IEnumerable <MergeRequest> > Process(GitLab gl, int?maxResults) { return(load(gl, maxResults, new MergeRequestsFilter( null, _wipFilter, _stateFilter, false, _text, null, null, null))); }
private Task <IEnumerable <MergeRequest> > loadByLabel(GitLab gl, string label) { return(load(gl, null, new MergeRequestsFilter( label, _wipFilter, _stateFilter, false, null, null, null, null))); }