| # plugin-rest-endpoint-methods.js |
| |
| > Octokit plugin adding one method for all of api.github.com REST API endpoints |
| |
| [](https://www.npmjs.com/package/@octokit/plugin-rest-endpoint-methods) |
| [](https://github.com/octokit/plugin-rest-endpoint-methods.js/actions?workflow=Test) |
| |
| ## Usage |
| |
| <table> |
| <tbody valign=top align=left> |
| <tr><th> |
| Browsers |
| </th><td width=100%> |
| |
| Load `@octokit/plugin-rest-endpoint-methods` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [cdn.skypack.dev](https://cdn.skypack.dev) |
| |
| ```html |
| <script type="module"> |
| import { Octokit } from "https://cdn.skypack.dev/@octokit/core"; |
| import { restEndpointMethods } from "https://cdn.skypack.dev/@octokit/plugin-rest-endpoint-methods"; |
| </script> |
| ``` |
| |
| </td></tr> |
| <tr><th> |
| Node |
| </th><td> |
| |
| Install with `npm install @octokit/core @octokit/plugin-rest-endpoint-methods`. Optionally replace `@octokit/core` with a compatible module |
| |
| ```js |
| const { Octokit } = require("@octokit/core"); |
| const { |
| restEndpointMethods, |
| } = require("@octokit/plugin-rest-endpoint-methods"); |
| ``` |
| |
| </td></tr> |
| </tbody> |
| </table> |
| |
| ```js |
| const MyOctokit = Octokit.plugin(restEndpointMethods); |
| const octokit = new MyOctokit({ auth: "secret123" }); |
| |
| // https://developer.github.com/v3/users/#get-the-authenticated-user |
| octokit.rest.users.getAuthenticated(); |
| ``` |
| |
| There is one method for each REST API endpoint documented at [https://developer.github.com/v3](https://developer.github.com/v3). All endpoint methods are documented in the [docs/](docs/) folder, e.g. [docs/users/getAuthenticated.md](docs/users/getAuthenticated.md) |
| |
| ## TypeScript |
| |
| Parameter and response types for all endpoint methods exported as `{ RestEndpointMethodTypes }`. |
| |
| Example |
| |
| ```ts |
| import { RestEndpointMethodTypes } from "@octokit/plugin-rest-endpoint-methods"; |
| |
| type UpdateLabelParameters = |
| RestEndpointMethodTypes["issues"]["updateLabel"]["parameters"]; |
| type UpdateLabelResponse = |
| RestEndpointMethodTypes["issues"]["updateLabel"]["response"]; |
| ``` |
| |
| In order to get types beyond parameters and responses, check out [`@octokit/openapi-types`](https://github.com/octokit/openapi-types.ts/#readme), which is a direct transpliation from GitHub's official OpenAPI specification. |
| |
| ## Contributing |
| |
| See [CONTRIBUTING.md](CONTRIBUTING.md) |
| |
| ## License |
| |
| [MIT](LICENSE) |