api/iteration.go (43 lines of code) (raw):

package api import gitlab "gitlab.com/gitlab-org/api/client-go" type ListProjectIterationsOptions struct { IncludeAncestors *bool PerPage int Page int } func (opts *ListProjectIterationsOptions) ListProjectIterationsOptions() *gitlab.ListProjectIterationsOptions { projectOpts := &gitlab.ListProjectIterationsOptions{} projectOpts.IncludeAncestors = opts.IncludeAncestors projectOpts.PerPage = opts.PerPage projectOpts.Page = opts.Page return projectOpts } func (opts *ListProjectIterationsOptions) ListGroupIterationsOptions() *gitlab.ListGroupIterationsOptions { groupOpts := &gitlab.ListGroupIterationsOptions{} groupOpts.IncludeAncestors = opts.IncludeAncestors groupOpts.PerPage = opts.PerPage groupOpts.Page = opts.Page return groupOpts } var ListProjectIterations = func(client *gitlab.Client, projectID interface{}, opts *ListProjectIterationsOptions) ([]*gitlab.ProjectIteration, error) { client = getClient(client) if opts.PerPage == 0 { opts.PerPage = DefaultListLimit } iteration, _, err := client.ProjectIterations.ListProjectIterations(projectID, opts.ListProjectIterationsOptions()) if err != nil { return nil, err } return iteration, nil } var ListGroupIterations = func(client *gitlab.Client, groupID interface{}, opts *ListProjectIterationsOptions) ([]*gitlab.GroupIteration, error) { client = getClient(client) if opts.PerPage == 0 { opts.PerPage = DefaultListLimit } iterations, _, err := client.GroupIterations.ListGroupIterations(groupID, opts.ListGroupIterationsOptions()) if err != nil { return nil, err } return iterations, nil }