diff options
author | Felipe Artur <felipefac@gmail.com> | 2016-06-29 11:31:50 -0300 |
---|---|---|
committer | Felipe Artur <felipefac@gmail.com> | 2016-06-29 11:32:38 -0300 |
commit | d2971315abd0e6e94860505e50ec71082c3679da (patch) | |
tree | 0f3dcf23406ec9fb3d6362b7f746e978ace692b3 /lib/api/issues.rb | |
parent | 36d48120f66d52dcc8697893ca1ab85322ba7c8b (diff) | |
parent | bef4294c58e0bbadc01f633fc8bea514801de7ae (diff) | |
download | gitlab-ce-issue_3359_3.tar.gz |
Merge branch 'master' into issue_3359_3issue_3359_3
Diffstat (limited to 'lib/api/issues.rb')
-rw-r--r-- | lib/api/issues.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/api/issues.rb b/lib/api/issues.rb index 4c43257c48a..8a03a41e9c5 100644 --- a/lib/api/issues.rb +++ b/lib/api/issues.rb @@ -59,6 +59,41 @@ module API end end + resource :groups do + # Get a list of group issues + # + # Parameters: + # id (required) - The ID of a group + # state (optional) - Return "opened" or "closed" issues + # labels (optional) - Comma-separated list of label names + # milestone (optional) - Milestone title + # order_by (optional) - Return requests ordered by `created_at` or `updated_at` fields. Default is `created_at` + # sort (optional) - Return requests sorted in `asc` or `desc` order. Default is `desc` + # + # Example Requests: + # GET /groups/:id/issues + # GET /groups/:id/issues?state=opened + # GET /groups/:id/issues?state=closed + # GET /groups/:id/issues?labels=foo + # GET /groups/:id/issues?labels=foo,bar + # GET /groups/:id/issues?labels=foo,bar&state=opened + # GET /groups/:id/issues?milestone=1.0.0 + # GET /groups/:id/issues?milestone=1.0.0&state=closed + get ":id/issues" do + group = find_group(params[:id]) + + params[:state] ||= 'opened' + params[:group_id] = group.id + params[:milestone_title] = params.delete(:milestone) + params[:label_name] = params.delete(:labels) + params[:sort] = "#{params.delete(:order_by)}_#{params.delete(:sort)}" if params[:order_by] && params[:sort] + + issues = IssuesFinder.new(current_user, params).execute + + present paginate(issues), with: Entities::Issue, current_user: current_user + end + end + resource :projects do # Get a list of project issues # |