Skip to content

Commit 7e42711

Browse files
committed
Add my_reaction_emoji param to /merge_requests API
1 parent cf9c54b commit 7e42711

File tree

5 files changed

+32
-14
lines changed

5 files changed

+32
-14
lines changed

app/finders/merge_requests_finder.rb

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
# label_name: string
1717
# sort: string
1818
# non_archived: boolean
19+
# my_reaction_emoji: string
1920
#
2021
class MergeRequestsFinder < IssuableFinder
2122
def klass
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Add my_reaction_emoji param to /issues API
2+
title: Add my_reaction_emoji param to /issues and /merge_requests API
33
merge_request: 14016
44
author: Hiroyuki Sato
55
type: added

doc/api/merge_requests.md

+17-13
Original file line numberDiff line numberDiff line change
@@ -22,24 +22,26 @@ GET /merge_requests?state=all
2222
GET /merge_requests?milestone=release
2323
GET /merge_requests?labels=bug,reproduced
2424
GET /merge_requests?author_id=5
25+
GET /merge_requests?my_reaction_emoji=star
2526
GET /merge_requests?scope=assigned-to-me
2627
```
2728

2829
Parameters:
2930

30-
| Attribute | Type | Required | Description |
31-
| --------- | ---- | -------- | ----------- |
32-
| `state` | string | no | Return all merge requests or just those that are `opened`, `closed`, or `merged`|
33-
| `order_by`| string | no | Return requests ordered by `created_at` or `updated_at` fields. Default is `created_at` |
34-
| `sort` | string | no | Return requests sorted in `asc` or `desc` order. Default is `desc` |
35-
| `milestone` | string | no | Return merge requests for a specific milestone |
36-
| `view` | string | no | If `simple`, returns the `iid`, URL, title, description, and basic state of merge request |
37-
| `labels` | string | no | Return merge requests matching a comma separated list of labels |
38-
| `created_after` | datetime | no | Return merge requests created after the given time (inclusive) |
39-
| `created_before` | datetime | no | Return merge requests created before the given time (inclusive) |
40-
| `scope` | string | no | Return merge requests for the given scope: `created-by-me`, `assigned-to-me` or `all`. Defaults to `created-by-me` |
41-
| `author_id` | integer | no | Returns merge requests created by the given user `id`. Combine with `scope=all` or `scope=assigned-to-me` |
42-
| `assignee_id` | integer | no | Returns merge requests assigned to the given user `id` |
31+
| Attribute | Type | Required | Description |
32+
| ------------------- | -------- | -------- | ---------------------------------------------------------------------------------------------------------------------- |
33+
| `state` | string | no | Return all merge requests or just those that are `opened`, `closed`, or `merged` |
34+
| `order_by` | string | no | Return requests ordered by `created_at` or `updated_at` fields. Default is `created_at` |
35+
| `sort` | string | no | Return requests sorted in `asc` or `desc` order. Default is `desc` |
36+
| `milestone` | string | no | Return merge requests for a specific milestone |
37+
| `view` | string | no | If `simple`, returns the `iid`, URL, title, description, and basic state of merge request |
38+
| `labels` | string | no | Return merge requests matching a comma separated list of labels |
39+
| `created_after` | datetime | no | Return merge requests created after the given time (inclusive) |
40+
| `created_before` | datetime | no | Return merge requests created before the given time (inclusive) |
41+
| `scope` | string | no | Return merge requests for the given scope: `created-by-me`, `assigned-to-me` or `all`. Defaults to `created-by-me` |
42+
| `author_id` | integer | no | Returns merge requests created by the given user `id`. Combine with `scope=all` or `scope=assigned-to-me` |
43+
| `assignee_id` | integer | no | Returns merge requests assigned to the given user `id` |
44+
| `my_reaction_emoji` | string | no | Return merge requests reacted by the authenticated user by the given emoji ` _([Introduced][ce-14016] in GitLab 10.0)_ |
4345

4446
```json
4547
[
@@ -116,6 +118,7 @@ GET /projects/:id/merge_requests?state=all
116118
GET /projects/:id/merge_requests?iids[]=42&iids[]=43
117119
GET /projects/:id/merge_requests?milestone=release
118120
GET /projects/:id/merge_requests?labels=bug,reproduced
121+
GET /projects/:id/merge_requests?my_reaction_emoji=star
119122
```
120123

121124
Parameters:
@@ -135,6 +138,7 @@ Parameters:
135138
| `scope` | string | no | Return merge requests for the given scope: `created-by-me`, `assigned-to-me` or `all` _([Introduced][ce-13060] in GitLab 9.5)_ |
136139
| `author_id` | integer | no | Returns merge requests created by the given user `id` _([Introduced][ce-13060] in GitLab 9.5)_ |
137140
| `assignee_id` | integer | no | Returns merge requests assigned to the given user `id` _([Introduced][ce-13060] in GitLab 9.5)_ |
141+
| `my_reaction_emoji` | string | no | Return merge requests reacted by the authenticated user by the given emoji ` _([Introduced][ce-14016] in GitLab 10.0)_ |
138142

139143
```json
140144
[

lib/api/merge_requests.rb

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ def find_merge_requests(args = {})
4040
optional :assignee_id, type: Integer, desc: 'Return merge requests which are assigned to the user with the given ID'
4141
optional :scope, type: String, values: %w[created-by-me assigned-to-me all],
4242
desc: 'Return merge requests for the given scope: `created-by-me`, `assigned-to-me` or `all`'
43+
optional :my_reaction_emoji, type: String, desc: 'Return issues reacted by the authenticated user by the given emoji'
4344
use :pagination
4445
end
4546
end

spec/requests/api/merge_requests_spec.rb

+12
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,18 @@
117117
expect(json_response.length).to eq(1)
118118
expect(json_response.first['id']).to eq(merge_request3.id)
119119
end
120+
121+
it 'returns merge requests reacted by the authenticated user by the given emoji' do
122+
merge_request3 = create(:merge_request, :simple, author: user, assignee: user, source_project: project2, target_project: project2, source_branch: 'other-branch')
123+
award_emoji = create(:award_emoji, awardable: merge_request3, user: user2, name: 'star')
124+
125+
get api('/merge_requests', user2), my_reaction_emoji: award_emoji.name, scope: 'all'
126+
127+
expect(response).to have_gitlab_http_status(200)
128+
expect(json_response).to be_an Array
129+
expect(json_response.length).to eq(1)
130+
expect(json_response.first['id']).to eq(merge_request3.id)
131+
end
120132
end
121133
end
122134

0 commit comments

Comments
 (0)