Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/muetze42/github-api

A PHP GitHub API wrapper wich used the Laravel HTTP Client (based on Guzzle HTTP client)
https://github.com/muetze42/github-api

api-wrapper github-api guzzle-http http-client illuminate-http php-8-2

Last synced: 9 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# GitHub API

A PHP GitHub API wrapper wich used the [Laravel HTTP Client](https://laravel.com/docs/http-client) (based on
[Guzzle HTTP client](http://docs.guzzlephp.org/en/stable/)).

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](https://github.com/octokit/openapi/).

## Installation

```shell
composer require norman-huth/github-api
```

## Usage

```php
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
successful()) {
return $response->json();
}
```

## Endpoints

See [ENDPOINTS.md](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
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
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
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
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
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
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
userRepositoryNotifications();
```