Skip to content
2.x
Go to file
Code

Latest commit

This PR was squashed before being merged into the 2.x branch.

Discussion
----------

Hello, thanks for this!

I just had a case where a token I used were throwing a runtimeexception because the org in question for the resource, had enforced SAML authentication. This was not something I could explicitly catch and do something with, so here is a PR fixing that.

Thanks again, keep up the good work!

Commits
-------

eec78a7 Add support for SSO errors coming from the API
282fd58 Code style
9a9bec7 phpstan fixes
51b49cb Code style
e566606 Add a test for sso required exception
4588ad5 Code style
54cf8f1 Code style
9b01208

Git stats

Files

Permalink
Failed to load latest commit information.

README.md

PHP GitHub API

Build Status StyleCI Latest Stable Version Total Downloads Latest Unstable Version Monthly Downloads Daily Downloads

A simple Object Oriented wrapper for GitHub API, written with PHP.

Uses GitHub API v3 & supports GitHub API v4. The object API (v3) is very similar to the RESTful API.

Features

  • Light and fast thanks to lazy loading of API classes
  • Extensively tested and documented

Requirements

Install

Via Composer:

$ composer require knplabs/github-api php-http/guzzle6-adapter "^1.1"

Why php-http/guzzle6-adapter? We are decoupled from any HTTP messaging client with help by HTTPlug. Read about clients in our docs.

Using Laravel?

Laravel GitHub by Graham Campbell might interest you.

Basic usage of php-github-api client

<?php

// This file is generated by Composer
require_once __DIR__ . '/vendor/autoload.php';

$client = new \Github\Client();
$repositories = $client->api('user')->repositories('ornicar');

From $client object, you can access to all GitHub.

Cache usage

This example uses the PSR6 cache pool redis-adapter. See http://www.php-cache.com/ for alternatives.

<?php

// This file is generated by Composer
require_once __DIR__ . '/vendor/autoload.php';

use Cache\Adapter\Redis\RedisCachePool;

$client = new \Redis();
$client->connect('127.0.0.1', 6379);
// Create a PSR6 cache pool
$pool = new RedisCachePool($client);

$client = new \Github\Client();
$client->addCache($pool);

// Do some request

// Stop using cache
$client->removeCache();

Using cache, the client will get cached responses if resources haven't changed since last time, without reaching the X-Rate-Limit imposed by github.

Documentation

See the doc directory for more detailed documentation.

License

php-github-api is licensed under the MIT License - see the LICENSE file for details

Maintainers

Please read this post first.

This library is maintained by the following people (alphabetically sorted) :

  • @acrobat
  • @Nyholm

Contributors

Thanks to GitHub for the high quality API and documentation.

About

A simple PHP GitHub API client, Object Oriented, tested and documented.

Topics

Resources

License

Sponsor this project

 
Learn more about GitHub Sponsors

Packages

No packages published

Languages

You can’t perform that action at this time.