Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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)
- Host: GitHub
- URL: https://github.com/muetze42/github-api
- Owner: Muetze42
- License: mit
- Created: 2024-02-17T19:33:27.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-03-11T16:55:49.000Z (8 months ago)
- Last Synced: 2024-03-12T17:54:26.751Z (8 months ago)
- Topics: api-wrapper, github-api, guzzle-http, http-client, illuminate-http, php-8-2
- Language: PHP
- Homepage:
- Size: 87.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: license
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();
```