/**
  * Set a SHA in GitHub to a state
  *
  * @param string        $organisation
  * @param string        $repository
  * @param GitHubMessage $message
  */
 public function updateStatus(string $organisation, string $repository, GitHubMessage $message)
 {
     $status = $message->getHighestWeightStatus();
     /** @var Repo $repoApi */
     $repoApi = $this->client->repo();
     /** @var Statuses $statusesApi */
     $statusesApi = $repoApi->statuses();
     $state = self::GITHUB_STATUS_SUCCESS;
     if (!$status->isPositive()) {
         $state = self::GITHUB_STATUS_FAILURE;
     }
     $statusesApi->create($organisation, $repository, $message->getSha(), ['state' => $state, 'description' => $status->getMessage(), 'context' => self::CONTEXT, 'target_url' => $status->getDetailsUrl()]);
 }
Example #2
0
 public function let(Client $client, HookSettings $hookSettings, GithubRepo $githubRepo, Repo $repo, Hooks $hooks)
 {
     $githubRepo->getOwner()->willReturn('owner');
     $githubRepo->getName()->willReturn('repository');
     $client->repo()->willReturn($repo);
     $repo->hooks()->willReturn($hooks);
     $hookSettings->getCreateHookParams()->willReturn(['params']);
     $this->beConstructedWith($client, $hookSettings, $githubRepo);
 }
 /**
  * @param string $organization
  * @param string $repositoryName
  * @return \Guzzle\Http\EntityBodyInterface|mixed|string
  */
 public function forkRepository($organization, $repositoryName)
 {
     $this->authenticate();
     return $this->gitHubClient->repo()->forks()->create($organization, $repositoryName);
 }