Beispiel #1
0
 /**
  * @param Project          $project
  * @param PayloadInterface $payload
  *
  * @todo implement PayloadInterface#getPullRequestUrl and PayloadInterface#getPullRequestTitle
  *
  * @return PullRequest
  */
 public function createPullRequestFromPayload(Project $project, $payload)
 {
     $json = json_decode($payload, true);
     $pr = new PullRequest();
     $pr->setNumber($json['pull_request']['number']);
     $pr->setTitle($json['pull_request']['title']);
     $pr->setRef(sprintf('pull/%d/head', $json['pull_request']['number']));
     $pr->setOpen($json['pull_request']['state'] === 'open');
     $pr->setUrl(sprintf('https://github.com/%s/pull/%d', $project->getFullName(), $json['pull_request']['number']));
     $pr->setProject($project);
     return $pr;
 }