knplabs/github-api
Lightweight, well-tested PHP wrapper for GitHub APIs v3 (REST) and v4 (GraphQL). PSR-17/PSR-18 compatible via HTTPlug, with easy setup using Guzzle, Symfony HttpClient, or other PSR clients. Supports framework integrations (Laravel via graham-campbell/github).
$references = $client->api('gitData')->references()->all('KnpLabs', 'php-github-api');
$references = $client->api('gitData')->references()->matching('KnpLabs', 'php-github-api', 'heads/branchName'); // use 'tags/tagName' for third argument if ref is tag
$reference = $client->api('gitData')->references()->show('KnpLabs', 'php-github-api', 'heads/featureA');
$referenceData = ['ref' => 'refs/heads/featureA', 'sha' => '839e5185da9434753db47959bee16642bb4f2ce4'];
$reference = $client->api('gitData')->references()->create('KnpLabs', 'php-github-api', $referenceData);
$referenceData = ['sha' => '839e5185da9434753db47959bee16642bb4f2ce4', 'force' => false ]; //Force is default false
$reference = $client->api('gitData')->references()->update('KnpLabs', 'php-github-api', 'heads/featureA', $referenceData);
$client->api('gitData')->references()->remove('KnpLabs', 'php-github-api', 'heads/featureA');
$references = $client->api('gitData')->references()->branches('KnpLabs', 'php-github-api');
$references = $client->api('gitData')->references()->tags('KnpLabs', 'php-github-api');
How can I help you explore Laravel packages today?