Skip to content
This repository has been archived by the owner on Mar 12, 2024. It is now read-only.
/ github-api Public archive

A PHP GitHub API wrapper wich used the Laravel HTTP Client (based on Guzzle HTTP client)

License

Notifications You must be signed in to change notification settings

Muetze42/github-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub API

A PHP GitHub API wrapper wich used the Laravel HTTP Client (based on Guzzle HTTP client).

This package does not require Laravel and can be used in any PHP application.

The API endpoint methods are automatically generated with the references from octokit/openapi.

Installation

composer require norman-huth/github-api

Usage

<?php

use NormanHuth\GithubApi\Client;

require_once __DIR__ . '/vendor/autoload.php';

$client = new Client('{GITHUB_TOKEN_HERE}');

$response = $client->repos()->reposCreateAFork(
    owner: 'Muetze42',
    repo: 'github-api',
    requestBody: ['organization' => 'MyVendor', 'name' => 'MyRepo']
);

// Get data as array
return $response->json()
// Get data as object
return $response->object()
// More infos: https://laravel.com/docs/http-client#making-requests

Every method returns a \Illuminate\Http\Client\Response.

<?php

if ($response->successful()) {
    return $response->json();
}

Endpoints

See ENDPOINTS.md

Aliases methods for the current authenticated user

For frequently used endpoints for the current authenticated user, there are also additional methods that can be called directly from the client.

Get the authenticated user

Alias for $client->users()->getTheAuthenticatedUser().

Use the REST API to get public and private information about authenticated users.

Reference: https://docs.github.com/en/rest/users/users#get-the-authenticated-user

<?php

$client->whoami();

List repositories for the authenticated user

Reference: https://docs.github.com/en/rest/repos/repos#list-repositories-for-the-authenticated-user

Alias for $client->repos()->listRepositoriesForTheAuthenticatedUser().

<?php

$client->userRepositories();

List gists for the authenticated user

Reference: https://docs.github.com/rest/gists/gists#list-gists-for-the-authenticated-user

Alias for $client->gists()->listGistsForTheAuthenticatedUser().

<?php

$client->userGists();

List issues assigned to the authenticated user

Reference: https://docs.github.com/rest/issues/issues#list-issues-assigned-to-the-authenticated-user

Alias for $client->issues()->listIssuesAssignedToTheAuthenticatedUser().

<?php

$client->userIssues();

List notifications for the authenticated user

Reference: https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user

Alias for $client->activity()->listNotificationsForTheAuthenticatedUser().

<?php

$client->userNotifications();

List organization issues assigned to the authenticated user

Reference: https://docs.github.com/rest/issues/issues#list-organization-issues-assigned-to-the-authenticated-user

Alias for $client->issues()->listOrganizationIssuesAssignedToTheAuthenticatedUser().

<?php

$client->userOrganizationIssues();

List repository notifications for the authenticated user

Reference: https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user

Alias for $client->activity()->listRepositoryNotificationsForTheAuthenticatedUser().

<?php

$client->userRepositoryNotifications();