/// <summary> /// Gets all open milestones for the repository. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository /// </remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="request">Used to filter and sort the list of Milestones returned</param> /// <returns></returns> public Task<IReadOnlyList<Milestone>> GetAllForRepository(string owner, string name, MilestoneRequest request) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(request, "request"); return GetAllForRepository(owner, name, request, ApiOptions.None); }
/// <summary> /// Gets all open milestones for the repository. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository /// </remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="request">Used to filter and sort the list of Milestones returned</param> /// <returns></returns> public Task<IReadOnlyList<Milestone>> GetForRepository(string owner, string name, MilestoneRequest request) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(request, "request"); return ApiConnection.GetAll<Milestone>(ApiUrls.Milestones(owner, name), request.ToParametersDictionary()); }
public void ReturnsDefaultValuesForDefaultRequest() { var request = new MilestoneRequest(); var parameters = request.ToParametersDictionary(); Assert.Equal("open", parameters["state"]); Assert.Equal("due_date", parameters["sort"]); Assert.Equal("asc", parameters["direction"]); }
public void ContainsSetValues() { var request = new MilestoneRequest { State = ItemState.Closed, SortProperty = MilestoneSort.Completeness, SortDirection = SortDirection.Descending, }; var parameters = request.ToParametersDictionary(); Assert.Equal("closed", parameters["state"]); Assert.Equal("completeness", parameters["sort"]); Assert.Equal("desc", parameters["direction"]); }
public async Task<IReadOnlyList<Milestone>> GetAllMilestones() { var request = new MilestoneRequest(); request.State = ItemState.All; request.SortProperty = MilestoneSort.DueDate; request.SortDirection = SortDirection.Descending; try { return await _github.Issue.Milestone.GetAllForRepository(_organization, _repository, request); } catch (Exception ex) { Console.WriteLine("Failed to get milestones for repository, {0}", ex.Message); } return new List<Milestone>(); }
/// <summary> /// Gets all open milestones for the repository. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository /// </remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="request">Used to filter and sort the list of Milestones returned</param> /// <returns></returns> public Task <IReadOnlyList <Milestone> > GetAllForRepository(string owner, string name, MilestoneRequest request) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(request, "request"); return(ApiConnection.GetAll <Milestone>(ApiUrls.Milestones(owner, name), request.ToParametersDictionary())); }
public Task <IReadOnlyList <Milestone> > GetAllForRepository(long repositoryId, MilestoneRequest request, ApiOptions options) { Ensure.ArgumentNotNull(request, nameof(request)); Ensure.ArgumentNotNull(options, nameof(options)); return(ApiConnection.GetAll <Milestone>(ApiUrls.Milestones(repositoryId), request.ToParametersDictionary(), options)); }
public Task <IReadOnlyList <Milestone> > GetAllForRepository(string owner, string name, MilestoneRequest request, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner)); Ensure.ArgumentNotNullOrEmptyString(name, nameof(name)); Ensure.ArgumentNotNull(request, nameof(request)); Ensure.ArgumentNotNull(options, nameof(options)); return(ApiConnection.GetAll <Milestone>(ApiUrls.Milestones(owner, name), request.ToParametersDictionary(), options)); }
public Task <IReadOnlyList <Milestone> > GetAllForRepository(long repositoryId, MilestoneRequest request) { Ensure.ArgumentNotNull(request, nameof(request)); return(GetAllForRepository(repositoryId, request, ApiOptions.None)); }
public Task <IReadOnlyList <Milestone> > GetAllForRepository(string owner, string name, MilestoneRequest request) { Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner)); Ensure.ArgumentNotNullOrEmptyString(name, nameof(name)); Ensure.ArgumentNotNull(request, nameof(request)); return(GetAllForRepository(owner, name, request, ApiOptions.None)); }
public override async void GetMilestones() { if (_gettingMilestones) return; _gettingMilestones = true; Milestones.Clear(); Milestone = null; if (Repository != null && Repository.Repository != null) { Milestones.Add(AllMilestones); Milestones.Add(NoMilestone); var request = new MilestoneRequest(); request.State = ItemState.Open; request.SortProperty = MilestoneSort.DueDate; request.SortDirection = SortDirection.Ascending; try { var milestones = await _github.Issue.Milestone.GetAllForRepository(Repository.Repository.Owner.Login, Repository.Repository.Name, request); foreach (var milestone in milestones) Milestones.Add(milestone); Milestone = AllMilestones; } catch (Exception exception) { _log.Write(LogLevel.Warn, "Failed to get milestones for repository", exception); } } _gettingMilestones = false; }
public async Task ReturnsDistinctResultsBasedOnStartPageParametrizedWithRepositoryId() { var milestone1 = new NewMilestone("milestone 1") { DueOn = DateTime.Now }; var milestone2 = new NewMilestone("milestone 2") { DueOn = DateTime.Now.AddDays(1), State = ItemState.Closed }; var milestone3 = new NewMilestone("milestone 3") { DueOn = DateTime.Now.AddDays(3), State = ItemState.Closed }; await _milestonesClient.Create(_context.RepositoryOwner, _context.RepositoryName, milestone1); await _milestonesClient.Create(_context.RepositoryOwner, _context.RepositoryName, milestone2); await _milestonesClient.Create(_context.RepositoryOwner, _context.RepositoryName, milestone3); var milestoneRequest = new MilestoneRequest { State = ItemStateFilter.Closed }; var startOptions = new ApiOptions { PageSize = 1, PageCount = 1 }; var firstPage = await _milestonesClient.GetAllForRepository(_context.Repository.Id, milestoneRequest, startOptions); var skipStartOptions = new ApiOptions { PageSize = 1, PageCount = 1, StartPage = 2 }; var secondPage = await _milestonesClient.GetAllForRepository(_context.Repository.Id, milestoneRequest, skipStartOptions); Assert.NotEqual(firstPage[0].Number, secondPage[0].Number); }
/// <summary> /// Gets all open milestones for the repository. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository /// </remarks> /// <param name="repositoryId">The Id of the repository</param> /// <param name="request">Used to filter and sort the list of Milestones returned</param> /// <param name="options">Options for changing the API response</param> /// <returns></returns> public Task<IReadOnlyList<Milestone>> GetAllForRepository(long repositoryId, MilestoneRequest request, ApiOptions options) { Ensure.ArgumentNotNull(request, "request"); Ensure.ArgumentNotNull(options, "options"); return ApiConnection.GetAll<Milestone>(ApiUrls.Milestones(repositoryId), request.ToParametersDictionary(), options); }
/// <summary> /// Gets all open milestones for the repository. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository /// </remarks> /// <param name="repositoryId">The Id of the repository</param> /// <param name="request">Used to filter and sort the list of Milestones returned</param> /// <returns></returns> public Task<IReadOnlyList<Milestone>> GetAllForRepository(long repositoryId, MilestoneRequest request) { Ensure.ArgumentNotNull(request, "request"); return GetAllForRepository(repositoryId, request, ApiOptions.None); }