Skip to content

SocialConnect/github

Repository files navigation

GitHub SDK

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version License

Awesome SDK to work with GitHub

Available methods:

API Methods Documentation Specification tests
Repositories 0/15 ❌
getRepositories
getUserRepositories
getOrgRepositories
Users 2/4 ❌
getUser ✔️ ✔️
getSelf
updateUser
getUsers ✔️ ✔️

OAuth/WebHook

This library is a Client only, see:

OAuth provider in socialconnect/auth project.

Github WebHook Service in ovr/github-webhook-service project.

Installation

Add a requirement to your composer.json:

{
    "require": {
        "socialconnect/github": "~0.1"
    }
}

Run the composer installer:

php composer.phar install

How to use

First you need to create service:

// Your GitHub Application's settings
$appId = 'appId';
$appSecret = 'secret';

$ghClient = new \SocialConnect\GitHub\Client($appId, $appSecret);
$ghClient->setHttpClient(new \SocialConnect\Common\Http\Client\Curl());

Get user with specified $id:

$ghClient = $ghClient->getUser('ovr');
var_dump($user);

Customs methods

$parameters = [];
$result = $ghClient->request('method/CustomMethod', $parameters);
if ($result) {
    var_dump($result);
}

Custom entities

class MyUserEntitiy extends \SocialConnect\GitHub\Entity\User {
    public function myOwnMethod()
    {
        //do something
    }
}

$ghClient->getEntityUser(new MyUserEntitiy());
$user = $ghClient->getUser(1);

if ($user) {
    $ghClient->myOwnMethod();
}

License

This project is open-sourced software licensed under the MIT License. See the LICENSE file for more information.