/** * 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()]); }
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); }