Skip to content

Commit aaaeffb

Browse files
committed
Added missing MR features
1 parent d999a87 commit aaaeffb

File tree

2 files changed

+41
-14
lines changed

2 files changed

+41
-14
lines changed

lib/Gitlab/Model/MergeRequest.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,17 @@ public function update(array $params)
5858

5959
public function close()
6060
{
61-
return $this->update(array('closed' => true));
61+
return $this->update(array('state_event' => 'close'));
6262
}
6363

6464
public function open()
6565
{
66-
return $this->update(array('closed' => false));
66+
return $this->update(array('state_event' => 'reopen'));
67+
}
68+
69+
public function merge()
70+
{
71+
return $this->update(array('state_event' => 'merge'));
6772
}
6873

6974
public function addComment($note)

lib/Gitlab/Model/Project.php

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,7 @@ public function mergeRequests($page = 1, $per_page = Api::PER_PAGE)
245245

246246
public function mergeRequest($id)
247247
{
248-
$mr = new MergeRequest($this, $id);
249-
$mr->setClient($this->getClient());
248+
$mr = new MergeRequest($this, $id, $this->getClient());
250249

251250
return $mr->show();
252251
}
@@ -258,6 +257,34 @@ public function createMergeRequest($source, $target, $title, $assignee = null)
258257
return MergeRequest::fromArray($this->getClient(), $this, $data);
259258
}
260259

260+
public function updateMergeRequest($id, array $params)
261+
{
262+
$mr = new MergeRequest($this, $id, $this->getClient());
263+
264+
return $mr->update($params);
265+
}
266+
267+
public function closeMergeRequest($id)
268+
{
269+
$mr = new MergeRequest($this, $id, $this->getClient());
270+
271+
return $mr->close();
272+
}
273+
274+
public function openMergeRequest($id)
275+
{
276+
$mr = new MergeRequest($this, $id, $this->getClient());
277+
278+
return $mr->open();
279+
}
280+
281+
public function mergeMergeRequest($id)
282+
{
283+
$mr = new MergeRequest($this, $id, $this->getClient());
284+
285+
return $mr->merge();
286+
}
287+
261288
public function issues($page = 1, $per_page = Api::PER_PAGE)
262289
{
263290
$data = $this->api('issues')->all($this->id, $page, $per_page);
@@ -280,24 +307,21 @@ public function createIssue($title, array $params = array())
280307

281308
public function issue($id)
282309
{
283-
$issue = new Issue($this, $id);
284-
$issue->setClient($this->getClient());
310+
$issue = new Issue($this, $id, $this->getClient());
285311

286312
return $issue->show();
287313
}
288314

289315
public function updateIssue($id, array $params)
290316
{
291-
$issue = new Issue($this, $id);
292-
$issue->setClient($this->getClient());
317+
$issue = new Issue($this, $id, $this->getClient());
293318

294319
return $issue->update($params);
295320
}
296321

297322
public function removeIssue($id)
298323
{
299-
$issue = new Issue($this, $id);
300-
$issue->setClient($this->getClient());
324+
$issue = new Issue($this, $id, $this->getClient());
301325

302326
return $issue->remove();
303327
}
@@ -324,16 +348,14 @@ public function createMilestone($title, array $params = array())
324348

325349
public function milestone($id)
326350
{
327-
$milestone = new Milestone($this, $id);
328-
$milestone->setClient($this->getClient());
351+
$milestone = new Milestone($this, $id, $this->getClient());
329352

330353
return $milestone->show();
331354
}
332355

333356
public function updateMilestone($id, array $params)
334357
{
335-
$milestone = new Milestone($this, $id);
336-
$milestone->setClient($this->getClient());
358+
$milestone = new Milestone($this, $id, $this->getClient());
337359

338360
return $milestone->update($params);
339361
}

0 commit comments

Comments
 (0)