Skip to content

Commit 2a55632

Browse files
tvbeekm1guelpf
authored andcommitted
Add the more paremeters to the MErgeRequests api call
The new fields are: updated_after updated_before scope author_id assignee_id sourche_branch target_branch See https://docs.gitlab.com/ce/api/merge_requests.html#list-project-merge-requests fir detauks
1 parent 06c0af6 commit 2a55632

File tree

2 files changed

+50
-4
lines changed

2 files changed

+50
-4
lines changed

lib/Gitlab/Api/MergeRequests.php

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,29 @@ public function all($project_id, array $parameters = [])
6868
->setAllowedTypes('created_before', \DateTimeInterface::class)
6969
->setNormalizer('created_before', $datetimeNormalizer)
7070
;
71+
72+
$resolver->setDefined('updated_after')
73+
->setAllowedTypes('updated_after', \DateTimeInterface::class)
74+
->setNormalizer('updated_after', $datetimeNormalizer)
75+
;
76+
$resolver->setDefined('updated_before')
77+
->setAllowedTypes('updated_before', \DateTimeInterface::class)
78+
->setNormalizer('updated_before', $datetimeNormalizer)
79+
;
80+
81+
$resolver->setDefined('scope')
82+
->setAllowedValues('scope', ['created_by_me', 'assigned_to_me', 'all'])
83+
;
84+
$resolver->setDefined('author_id')
85+
->setAllowedTypes('author_id', 'integer');
86+
87+
$resolver->setDefined('assignee_id')
88+
->setAllowedTypes('assignee_id', 'integer');
89+
7190
$resolver->setDefined('search');
72-
91+
$resolver->setDefined('source_branch');
92+
$resolver->setDefined('target_branch');
93+
7394
return $this->get($this->getProjectPath($project_id, 'merge_requests'), $resolver->resolve($parameters));
7495
}
7596

test/Gitlab/Tests/Api/MergeRequestsTest.php

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<?php namespace Gitlab\Tests\Api;
22

3-
use Gitlab\Api\AbstractApi;
43
use Gitlab\Api\MergeRequests;
54

65
class MergeRequestsTest extends TestCase
@@ -32,11 +31,37 @@ public function shouldGetAllWithParams()
3231
$api = $this->getApiMock();
3332
$api->expects($this->once())
3433
->method('get')
35-
->with('projects/1/merge_requests', ['page' => 2, 'per_page' => 5, 'order_by' => 'updated_at', 'sort' => 'desc'])
34+
->with('projects/1/merge_requests', [
35+
'page' => 2,
36+
'per_page' => 5,
37+
'labels' => 'label1,label2,label3',
38+
'milestone' => 'milestone1',
39+
'order_by' => 'updated_at',
40+
'state' => 'all',
41+
'sort' => 'desc',
42+
'scope' => 'all',
43+
'author_id' => 1,
44+
'assignee_id' => 1,
45+
'source_branch' => 'develop',
46+
'target_branch' => 'master',
47+
])
3648
->will($this->returnValue($expectedArray))
3749
;
3850

39-
$this->assertEquals($expectedArray, $api->all(1, ['page' => 2, 'per_page' => 5, 'order_by' => 'updated_at', 'sort' => 'desc']));
51+
$this->assertEquals($expectedArray, $api->all(1, [
52+
'page' => 2,
53+
'per_page' => 5,
54+
'labels' => 'label1,label2,label3',
55+
'milestone' => 'milestone1',
56+
'order_by' => 'updated_at',
57+
'state' => 'all',
58+
'sort' => 'desc',
59+
'scope' => 'all',
60+
'author_id' => 1,
61+
'assignee_id' => 1,
62+
'source_branch' => 'develop',
63+
'target_branch' => 'master',
64+
]));
4065
}
4166

4267
/**

0 commit comments

Comments
 (0)