-
-
Notifications
You must be signed in to change notification settings - Fork 599
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #148 from guillermoandrae/master
Added GitHub Enterprise classes, tests, and documentation.
- Loading branch information
Showing
7 changed files
with
271 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
## Enterprise API | ||
[Back to the navigation](index.md) | ||
|
||
Provides information about a GitHub Enterprise installation. Wraps [GitHub Enterprise API](http://developer.github.com/v3/enterprise/). | ||
|
||
In order to configure the client to point to a GitHub Enterprise installation, do the following: | ||
|
||
```php | ||
<?php | ||
|
||
// This file is generated by Composer | ||
require_once 'vendor/autoload.php'; | ||
|
||
$client = new \Github\Client(); | ||
|
||
// Set the URL of your GitHub Enterprise installation | ||
$client->setEnterpriseUrl('https://ghe.host'); | ||
|
||
// Use the client as you would ordinarily | ||
$repositories = $client->api('user')->repositories('ornicar'); | ||
``` | ||
|
||
To use the Stats and License APIs, you will need to authenticate using a GitHub Enterprise site admin account. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
<?php | ||
|
||
namespace Github\Api; | ||
|
||
use Github\Api\Enterprise\Stats; | ||
use Github\Api\Enterprise\License; | ||
|
||
/** | ||
* Getting information about a GitHub Enterprise instance. | ||
* | ||
* @link https://developer.github.com/v3/enterprise/ | ||
* @author Joseph Bielawski <[email protected]> | ||
* @author Guillermo A. Fisher <[email protected]> | ||
*/ | ||
class Enterprise extends AbstractApi | ||
{ | ||
/** | ||
* @return Stats | ||
*/ | ||
public function stats() | ||
{ | ||
return new Stats($this->client); | ||
} | ||
|
||
/** | ||
* @return License | ||
*/ | ||
public function license() | ||
{ | ||
return new License($this->client); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
<?php | ||
|
||
namespace Github\Api\Enterprise; | ||
|
||
use Github\Api\AbstractApi; | ||
|
||
class License extends AbstractApi | ||
{ | ||
/** | ||
* Provides information about your Enterprise license (only available to site admins). | ||
* @link https://developer.github.com/v3/enterprise/license/ | ||
* | ||
* @return array array of license information | ||
*/ | ||
public function show() | ||
{ | ||
return $this->get('enterprise/settings/license'); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
<?php | ||
|
||
namespace Github\Api\Enterprise; | ||
|
||
use Github\Api\AbstractApi; | ||
|
||
class Stats extends AbstractApi | ||
{ | ||
/** | ||
* Returns the number of open and closed issues | ||
* | ||
* @return array array with totals of open and closed issues | ||
*/ | ||
public function issues() | ||
{ | ||
return $this->show('issues'); | ||
} | ||
|
||
/** | ||
* Returns the number of active and inactive hooks | ||
* | ||
* @return array array with totals of active and inactive hooks | ||
*/ | ||
public function hooks() | ||
{ | ||
return $this->show('hooks'); | ||
} | ||
|
||
/** | ||
* Returns the number of open and closed milestones | ||
* | ||
* @return array array with totals of open and closed milestones | ||
*/ | ||
public function milestones() | ||
{ | ||
return $this->show('milestones'); | ||
} | ||
|
||
/** | ||
* Returns the number of organizations, teams, team members, and disabled organizations | ||
* | ||
* @return array array with totals of organizations, teams, team members, and disabled organizations | ||
*/ | ||
public function orgs() | ||
{ | ||
return $this->show('orgs'); | ||
} | ||
|
||
/** | ||
* Returns the number of comments on issues, pull requests, commits, and gists | ||
* | ||
* @return array array with totals of comments on issues, pull requests, commits, and gists | ||
*/ | ||
public function comments() | ||
{ | ||
return $this->show('comments'); | ||
} | ||
|
||
/** | ||
* Returns the number of GitHub Pages sites | ||
* | ||
* @return array array with totals of GitHub Pages sites | ||
*/ | ||
public function pages() | ||
{ | ||
return $this->show('pages'); | ||
} | ||
|
||
/** | ||
* Returns the number of suspended and admin users | ||
* | ||
* @return array array with totals of suspended and admin users | ||
*/ | ||
public function users() | ||
{ | ||
return $this->show('users'); | ||
} | ||
|
||
/** | ||
* Returns the number of private and public gists | ||
* | ||
* @return array array with totals of private and public gists | ||
*/ | ||
public function gists() | ||
{ | ||
return $this->show('gists'); | ||
} | ||
|
||
/** | ||
* Returns the number of merged, mergeable, and unmergeable pull requests | ||
* | ||
* @return array array with totals of merged, mergeable, and unmergeable pull requests | ||
*/ | ||
public function pulls() | ||
{ | ||
return $this->show('pulls'); | ||
} | ||
|
||
/** | ||
* Returns the number of organization-owned repositories, root repositories, forks, pushed commits, and wikis | ||
* | ||
* @return array array with totals of organization-owned repositories, root repositories, forks, pushed commits, and wikis | ||
*/ | ||
public function repos() | ||
{ | ||
return $this->show('repos'); | ||
} | ||
|
||
/** | ||
* Returns all of the statistics | ||
* | ||
* @return array array with all of the statistics | ||
*/ | ||
public function all() | ||
{ | ||
return $this->show('all'); | ||
} | ||
|
||
/** | ||
* @param string $type The type of statistics to show | ||
* | ||
* @return array | ||
*/ | ||
public function show($type) | ||
{ | ||
return $this->get('enterprise/stats/' . rawurlencode($type)); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
<?php | ||
/** | ||
* This file is part of the PHP GitHub API package. | ||
* | ||
* For the full copyright and license information, please view the LICENSE | ||
* file that was distributed with this source code. | ||
*/ | ||
|
||
namespace Github\Tests\Api; | ||
|
||
class EnterpriseTest extends TestCase | ||
{ | ||
/** | ||
* @test | ||
*/ | ||
public function shouldGetEntepriseStatsApiObject() | ||
{ | ||
$api = $this->getApiMock(); | ||
|
||
$this->assertInstanceOf('Github\Api\Enterprise\Stats', $api->stats()); | ||
} | ||
|
||
/** | ||
* @test | ||
*/ | ||
public function shouldGetEnterpriseLicenseApiObject() | ||
{ | ||
$api = $this->getApiMock(); | ||
|
||
$this->assertInstanceOf('Github\Api\Enterprise\License', $api->license()); | ||
} | ||
|
||
protected function getApiClass() | ||
{ | ||
return 'Github\Api\Enterprise'; | ||
} | ||
} | ||
|