Пример #1
0
 public function convertMergeRequestFromApi($mrApi)
 {
     if (!is_array($mrApi)) {
         return null;
     }
     $mr = new Model\MergeRequest();
     $state = Model\MergeRequest::STATE_OPENED;
     switch ($mrApi['state']) {
         case 'merged':
             $state = Model\MergeRequest::STATE_MERGED;
             break;
         case 'closed':
             $state = Model\MergeRequest::STATE_CLOSED;
             break;
     }
     $mr->setRaw($mrApi)->setId($mrApi['iid'])->setGlobalId($mrApi['id'])->setName($mrApi['title'])->setSourceBranchName($mrApi['source_branch'])->setTargetBranchName($mrApi['target_branch'])->setState($state)->setAuthor($this->convertMergeRequestUserFromApi($mrApi['author']));
     if (!empty($mrApi['assignee'])) {
         $mr->setAssignee($this->convertMergeRequestUserFromApi($mrApi['assignee']));
     }
     return $mr;
 }
Пример #2
0
 /**
  * @inheritdoc
  */
 protected function doPostMergeRequest(Model\MergeRequest $mergeRequest)
 {
     $mrApi = $this->getClient()->api('merge_requests')->create($mergeRequest->getProject()->getId(), $mergeRequest->getSourceBranchName(), $mergeRequest->getTargetBranchName(), $mergeRequest->getName(), $mergeRequest->getAssignee()->getId());
     $mr = $this->converter->convertMergeRequestFromApi($mrApi);
     $mr->setProject($mergeRequest->getProject())->setSourceBranch($mergeRequest->getSourceBranch())->setTargetBranch($mergeRequest->getTargetBranch());
     return $mr;
 }