/**
  * Returns diff of the changeset
  *
  * @return string
  * @throws Exception
  */
 public function getDiff()
 {
     /** @var \Github\Api\PullRequest $api */
     $api = $this->client->api('pull_request');
     $this->client->setHeaders(array('Accept' => sprintf('application/vnd.github.%s.diff', $this->client->getOption('api_version'))));
     $diff = $api->show($this->user, $this->repo, $this->pull);
     return $diff;
 }
Example #2
0
 public function getUserRepositoriesMatching($pattern)
 {
     $this->assertAuthenticated();
     // Temporary header https://developer.github.com/v3/repos/#list-your-repositories
     $this->github->setHeaders(['Accept' => 'application/vnd.github.moondragon+json']);
     $paginator = new ResultPager($this->github);
     $repositories = $paginator->fetchAll($this->github->currentUser(), 'repositories');
     $repositories = array_map(function ($repository) {
         return $repository['full_name'];
     }, $repositories);
     $pattern = '/^' . preg_quote($pattern, '/') . '$/';
     $pattern = str_replace('\\*', '.+', $pattern);
     return array_filter($repositories, function ($repository) use($pattern) {
         return preg_match($pattern, $repository) === 1;
     });
 }
Example #3
0
 /**
  * @test
  */
 public function shouldSetHeadersLaizly()
 {
     $headers = array('header1', 'header2');
     $httpClient = $this->getHttpClientMock();
     $httpClient->expects($this->once())->method('setHeaders')->with($headers);
     $client = new Client($httpClient);
     $client->setHeaders($headers);
 }
 /**
  * Constructs a new GitHub tracker instance.
  *
  * @param string $username
  * @param string $password
  * @param string $project
  * @param string $owner Optional project owner, e.g. user or organization.
  */
 public function __construct($username, $password, $project, $owner = null)
 {
     $github = new Client();
     $github->setHeaders(array('Authorization: Basic ' . base64_encode("{$username}:{$password}")));
     $github->authenticate($username, $password, Client::AUTH_HTTP_PASSWORD);
     $this->github = $github->getIssueApi();
     $this->owner = $owner ?: $username;
     $this->project = $project;
 }
 /**
  * @test
  */
 public function shouldSetHeadersLaizly()
 {
     $client = new Client();
     $client->setHeaders(array('header1', 'header2'));
     $this->assertInstanceOf('Github\\HttpClient\\HttpClientInterface', $client->getHttpClient());
 }