norman-huth/github-api

This package is abandoned and no longer maintained. No replacement package was suggested.

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

1.0.1 2024-03-11 16:54 UTC

This package is auto-updated.

Last update: 2024-04-11 17:14:40 UTC


README

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();