Files
Gitea-PHP-API/README.md
2020-01-20 08:00:25 +01:00

328 lines
12 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Gitea API Client
This package provides an API client for [Gitea](https://gitea.io) API Version 1.
## Getting Started
### Prerequisites
This package has the following requirements:
* PHP 7.2
### Installing
Install latest version via composer:
```
composer require avency/gitea
```
### Basic usage
```
// This file is generated by Composer
require_once __DIR__ . '/vendor/autoload.php';
// - - - - -
// Create client and authenticate
$giteaClient = new Avency\Gitea\Client(
'https://gitea.yourdomain.com',
[
'type' => Avency\Gitea::AUTH_TOKEN,
'auth' => 'your-auth-token'
]
);
or
$giteaClient = new Avency\Gitea\Client(
'https://gitea.yourdomain.com',
[
'type' => Avency\Gitea::AUTH_BASIC_AUTH,
'auth' => [
'username' => 'your-username',
'password' => 'your-password',
]
]
);
// - - - - -
// Get a single repository
$repository = $giteaClient->repositories()->get('owner', 'repoName');
// Get version
$repository = $giteaClient->miscellaneous()->version();
```
Run an API call as another user:
```
// e.g. check subscription status as a user
$status = $giteaClient->sudo('username')->repositories()->checkSubscription();
```
## Versioning
We use [SemVer](http://semver.org/) for versioning. For the versions available,
see the [tags on this repository](https://github.com/avency/gitea/contributors).
## Authors
* Michael Gerdemann - [avency GmbH](https://www.avency.de)
See also the list of [contributors](https://github.com/avency/gitea/graphs/contributors) who
participated in this project.
## License
This project is licensed under the MIT License - see the
[LICENSE.md](https://github.com/avency/gitea//blob/master/LICENSE.md) file for details
## Status of endpoints
#### Admin
Status | Method | Endpoint | Comment
--- | --- | --- | ---
✅ | GET | /admin/orgs |
✅ | POST | /admin/users |
✅ | DELETE | /admin/users/{username} |
✅ | PATCH | /admin/users/{username} |
✅ | POST | /admin/users/{username}/keys |
✅ | DELETE | /admin/users/{username}/keys/{id} |
✅ | POST | /admin/users/{username}/orgs |
✅ | POST | /admin/users/{username}/repos |
#### Miscellaneous
Status | Method | Endpoint | Comment
--- | --- | --- | ---
✅ | POST | /markdown |
✅ | POST | /markdown/raw |
✅ | GET | /signing-key.gpg |
✅ | GET | /version |
#### Organization
Status | Method | Endpoint | Comment
--- | --- | --- | ---
✅ | POST | /org/{org}/repos |
✅ | POST | /orgs |
✅ | GET | /orgs/{org} |
✅ | DELETE | /orgs/{org} |
✅ | PATCH | /orgs/{org} |
✅ | GET | /orgs/{org}/hooks |
✅ | POST | /orgs/{org}/hooks/ |
✅ | GET | /orgs/{org}/hooks/{id} |
✅ | DELETE | /orgs/{org}/hooks/{id} |
✅ | PATCH | /orgs/{org}/hooks/{id} |
✅ | GET | /orgs/{org}/members |
✅ | GET | /orgs/{org}/members/{username} |
✅ | DELETE | /orgs/{org}/members/{username} |
✅ | GET | /orgs/{org}/public_members |
✅ | GET | /orgs/{org}/public_members/{username} |
✅ | PUT | /orgs/{org}/public_members/{username} |
✅ | DELETE | /orgs/{org}/public_members/{username} |
✅ | GET | /orgs/{org}/repos |
✅ | GET | /orgs/{org}/teams |
✅ | POST | /orgs/{org}/teams |
✅ | GET | /orgs/{org}/teams/search |
✅ | GET | /teams/{id} |
✅ | DELETE | /teams/{id} |
✅ | PATCH | /teams/{id} |
✅ | GET | /teams/{id}/members |
✅ | GET | /teams/{id}/members/{username} |
✅ | PUT | /teams/{id}/members/{username} |
✅ | DELETE | /teams/{id}/members/{username} |
✅ | GET | /teams/{id}/repos |
✅ | PUT | /teams/{id}/repos/{org}/{repo} |
✅ | DELETE | /teams/{id}/repos/{org}/{repo} |
✅ | GET | /user/orgs |
✅ | GET | /users/{username}/orgs |
#### Issue
Status | Method | Endpoint | Comment
--- | --- | --- | ---
✅ | GET | /repos/issues/search |
✅ | GET | /repos/{owner}/{repo}/issues |
✅ | POST | /repos/{owner}/{repo}/issues |
✅ | GET | /repos/{owner}/{repo}/issues/comments |
✅ | DELETE | /repos/{owner}/{repo}/issues/comments/{id} |
✅ | PATCH | /repos/{owner}/{repo}/issues/comments/{id} |
✅ | GET | /repos/{owner}/{repo}/issues/comments/{id}/reactions |
✅ | POST | /repos/{owner}/{repo}/issues/comments/{id}/reactions |
✅ | DELETE | /repos/{owner}/{repo}/issues/comments/{id}/reactions |
✅ | GET | /repos/{owner}/{repo}/issues/{index} |
✅ | PATCH | /repos/{owner}/{repo}/issues/{index} |
✅ | GET | /repos/{owner}/{repo}/issues/{index}/comments |
✅ | POST | /repos/{owner}/{repo}/issues/{index}/comments |
⛔️ | DELETE | /repos/{owner}/{repo}/issues/{index}/comments/{id} | Not supported / Deprecated
⛔️ | PATCH | /repos/{owner}/{repo}/issues/{index}/comments/{id} | Not supported / Deprecated
✅ | POST | /repos/{owner}/{repo}/issues/{index}/deadline |
✅ | GET | /repos/{owner}/{repo}/issues/{index}/labels |
✅ | PUT | /repos/{owner}/{repo}/issues/{index}/labels |
✅ | POST | /repos/{owner}/{repo}/issues/{index}/labels |
✅ | DELETE | /repos/{owner}/{repo}/issues/{index}/labels |
✅ | DELETE | /repos/{owner}/{repo}/issues/{index}/labels/{id} |
✅ | GET | /repos/{owner}/{repo}/issues/{index}/reactions |
✅ | POST | /repos/{owner}/{repo}/issues/{index}/reactions |
✅ | DELETE | /repos/{owner}/{repo}/issues/{index}/reactions |
✅ | DELETE | /repos/{owner}/{repo}/issues/{index}/stopwatch/delete |
✅ | POST | /repos/{owner}/{repo}/issues/{index}/stopwatch/start |
✅ | POST | /repos/{owner}/{repo}/issues/{index}/stopwatch/stop |
✅ | GET | /repos/{owner}/{repo}/issues/{index}/subscriptions |
✅ | PUT | /repos/{owner}/{repo}/issues/{index}/subscriptions/{user} |
✅ | DELETE | /repos/{owner}/{repo}/issues/{index}/subscriptions/{user} |
✅ | GET | /repos/{owner}/{repo}/issues/{index}/times |
✅ | POST | /repos/{owner}/{repo}/issues/{index}/times |
✅ | DELETE | /repos/{owner}/{repo}/issues/{index}/times |
✅ | DELETE | /repos/{owner}/{repo}/issues/{index}/times/{id} |
✅ | GET | /repos/{owner}/{repo}/labels |
✅ | POST | /repos/{owner}/{repo}/labels |
✅ | GET | /repos/{owner}/{repo}/labels/{id} |
✅ | DELETE | /repos/{owner}/{repo}/labels/{id} |
✅ | PATCH | /repos/{owner}/{repo}/labels/{id} |
✅ | GET | /repos/{owner}/{repo}/milestones |
✅ | POST | /repos/{owner}/{repo}/milestones |
✅ | GET | /repos/{owner}/{repo}/milestones/{id} |
✅ | DELETE | /repos/{owner}/{repo}/milestones/{id} |
✅ | PATCH | /repos/{owner}/{repo}/milestones/{id} |
#### Repository
Status | Method | Endpoint | Comment
--- | --- | --- | ---
✅ | POST | /repos/migrate |
✅ | GET | /repos/search |
✅ | GET | /repos/{owner}/{repo} |
✅ | DELETE | /repos/{owner}/{repo} |
✅ | PATCH | /repos/{owner}/{repo} |
⛔️ | GET | /repos/{owner}/{repo}/archive/{archive} | Not supported
✅ | GET | /repos/{owner}/{repo}/branches |
✅ | GET | /repos/{owner}/{repo}/branches/{branch} |
✅ | GET | /repos/{owner}/{repo}/collaborators |
✅ | GET | /repos/{owner}/{repo}/collaborators/{collaborator} |
✅ | PUT | /repos/{owner}/{repo}/collaborators/{collaborator} |
✅ | DELETE | /repos/{owner}/{repo}/collaborators/{collaborator} |
✅ | GET | /repos/{owner}/{repo}/commits |
✅ | GET | /repos/{owner}/{repo}/commits/{ref}/statuses |
✅ | GET | /repos/{owner}/{repo}/contents |
✅ | GET | /repos/{owner}/{repo}/contents/{filepath} |
✅ | PUT | /repos/{owner}/{repo}/contents/{filepath} |
✅ | POST | /repos/{owner}/{repo}/contents/{filepath} |
✅ | DELETE | /repos/{owner}/{repo}/contents/{filepath} |
✅ | GET | /repos/{owner}/{repo}/editorconfig/{filepath} |
✅ | GET | /repos/{owner}/{repo}/forks |
✅ | POST | /repos/{owner}/{repo}/forks |
✅ | GET | /repos/{owner}/{repo}/git/blobs/{sha} |
✅ | GET | /repos/{owner}/{repo}/git/commits/{sha} |
✅ | GET | /repos/{owner}/{repo}/git/refs |
✅ | GET | /repos/{owner}/{repo}/git/refs/{ref} |
✅ | GET | /repos/{owner}/{repo}/git/tags/{sha} |
✅ | GET | /repos/{owner}/{repo}/git/trees/{sha} |
✅ | GET | /repos/{owner}/{repo}/hooks |
✅ | POST | /repos/{owner}/{repo}/hooks |
✅ | GET | /repos/{owner}/{repo}/hooks/git |
✅ | GET | /repos/{owner}/{repo}/hooks/git/{id} |
✅ | DELETE | /repos/{owner}/{repo}/hooks/git/{id} |
✅ | PATCH | /repos/{owner}/{repo}/hooks/git/{id} |
✅ | GET | /repos/{owner}/{repo}/hooks/{id} |
✅ | DELETE | /repos/{owner}/{repo}/hooks/{id} |
✅ | PATCH | /repos/{owner}/{repo}/hooks/{id} |
✅ | POST | /repos/{owner}/{repo}/hooks/{id}/tests |
✅ | GET | /repos/{owner}/{repo}/keys |
✅ | POST | /repos/{owner}/{repo}/keys |
✅ | GET | /repos/{owner}/{repo}/keys/{id} |
✅ | DELETE | /repos/{owner}/{repo}/keys/{id} |
✅ | POST | /repos/{owner}/{repo}/mirror-sync |
✅ | GET | /repos/{owner}/{repo}/pulls |
✅ | POST | /repos/{owner}/{repo}/pulls |
✅ | GET | /repos/{owner}/{repo}/pulls/{index} |
✅ | PATCH | /repos/{owner}/{repo}/pulls/{index} |
✅ | GET | /repos/{owner}/{repo}/pulls/{index}/merge |
✅ | POST | /repos/{owner}/{repo}/pulls/{index}/merge |
✅ | GET | /repos/{owner}/{repo}/raw/{filepath} |
✅ | GET | /repos/{owner}/{repo}/releases |
✅ | POST | /repos/{owner}/{repo}/releases |
✅ | GET | /repos/{owner}/{repo}/releases/{id} |
✅ | DELETE | /repos/{owner}/{repo}/releases/{id} |
✅ | PATCH | /repos/{owner}/{repo}/releases/{id} |
✅ | GET | /repos/{owner}/{repo}/releases/{id}/assets |
⛔️ | POST | /repos/{owner}/{repo}/releases/{id}/assets | Not supported
✅ | GET | /repos/{owner}/{repo}/releases/{id}/assets/{attachment_id} |
✅ | DELETE | /repos/{owner}/{repo}/releases/{id}/assets/{attachment_id} |
✅ | PATCH | /repos/{owner}/{repo}/releases/{id}/assets/{attachment_id} |
✅ | GET | /repos/{owner}/{repo}/signing-key.gpg |
✅ | GET | /repos/{owner}/{repo}/stargazers |
✅ | GET | /repos/{owner}/{repo}/statuses/{sha} |
✅ | POST | /repos/{owner}/{repo}/statuses/{sha} |
✅ | GET | /repos/{owner}/{repo}/subscribers |
✅ | GET | /repos/{owner}/{repo}/subscription |
✅ | PUT | /repos/{owner}/{repo}/subscription |
✅ | DELETE | /repos/{owner}/{repo}/subscription |
✅ | GET | /repos/{owner}/{repo}/tags |
✅ | GET | /repos/{owner}/{repo}/times |
✅ | GET | /repos/{owner}/{repo}/topics |
✅ | PUT | /repos/{owner}/{repo}/topics |
✅ | PUT | /repos/{owner}/{repo}/topics/{topic} |
✅ | DELETE | /repos/{owner}/{repo}/topics/{topic} |
✅ | GET | /repositories/{id} |
✅ | GET | /topics/search |
✅ | POST | /user/repos |
#### User
Status | Method | Endpoint | Comment
--- | --- | --- | ---
✅ | GET | /user |
✅ | GET | /user/emails |
✅ | POST | /user/emails |
✅ | DELETE | /user/emails |
✅ | GET | /user/followers |
✅ | GET | /user/following |
✅ | GET | /user/following/{username} |
✅ | PUT | /user/following/{username} |
✅ | DELETE | /user/following/{username} |
✅ | GET | /user/gpg_keys |
✅ | POST | /user/gpg_keys |
✅ | GET | /user/gpg_keys/{id} |
✅ | DELETE | /user/gpg_keys/{id} |
✅ | GET | /user/keys |
✅ | POST | /user/keys |
✅ | GET | /user/keys/{id} |
✅ | DELETE | /user/keys/{id} |
✅ | GET | /user/repos |
✅ | POST | /user/repos |
✅ | GET | /user/starred |
✅ | GET | /user/starred/{owner}/{repo} |
✅ | PUT | /user/starred/{owner}/{repo} |
✅ | DELETE | /user/starred/{owner}/{repo} |
✅ | GET | /user/stopwatches |
✅ | GET | /user/subscriptions |
✅ | GET | /user/teams |
✅ | GET | /user/times |
#### Users
Status | Method | Endpoint | Comment
--- | --- | --- | ---
✅ | GET | /repos/{owner}/{repo}/times/{user} |
✅ | GET | /users/search |
✅ | GET | /users/{follower}/following/{followee} |
✅ | GET | /users/{username} |
✅ | GET | /users/{username}/followers |
✅ | GET | /users/{username}/following |
✅ | GET | /users/{username}/gpg_keys |
✅ | GET | /users/{username}/heatmap |
✅ | GET | /users/{username}/keys |
✅ | GET | /users/{username}/repos |
✅ | GET | /users/{username}/starred |
✅ | GET | /users/{username}/subscriptions |
✅ | GET | /users/{username}/tokens |
✅ | POST | /users/{username}/tokens |
✅ | DELETE | /users/{username}/tokens/{token} |