What is @octokit/plugin-rest-endpoint-methods?
The @octokit/plugin-rest-endpoint-methods package is a plugin for Octokit, a GitHub SDK, that provides methods for calling GitHub's REST API endpoints. It simplifies the process of making REST API calls to GitHub by providing pre-defined methods for many of the API endpoints, allowing developers to interact with GitHub data and perform actions like repository management, issue tracking, and more without having to manually construct HTTP requests.
What are @octokit/plugin-rest-endpoint-methods's main functionalities?
Repository Management
This feature allows users to create a new repository on GitHub. The provided code sample demonstrates how to create a new repository for the authenticated user.
{"octokit.rest.repos.createForAuthenticatedUser({ name: 'my-new-repo' })"}
Issues Management
This feature enables users to create new issues in a repository. The code sample shows how to create an issue in the 'hello-world' repository owned by 'octocat' with a title and body.
{"octokit.rest.issues.create({ owner: 'octocat', repo: 'hello-world', title: 'New issue', body: 'Hello, world!' })"}
Pull Requests
This feature allows users to create pull requests in a repository. The code sample illustrates creating a pull request in the 'hello-world' repository, specifying the title, feature branch, and base branch.
{"octokit.rest.pulls.create({ owner: 'octocat', repo: 'hello-world', title: 'Amazing new feature', head: 'feature-branch-name', base: 'main' })"}
Other packages similar to @octokit/plugin-rest-endpoint-methods
github
The 'github' package is a Node.js wrapper for GitHub's REST API. It offers similar functionalities to @octokit/plugin-rest-endpoint-methods but is less modular and does not provide the plugin architecture that Octokit does. It's an older package and might not be as actively maintained.
node-github
Similar to 'github', 'node-github' is another Node.js client for GitHub's REST API. It provides access to GitHub's API endpoints but lacks the extensibility and plugin-based architecture of Octokit. It's another option for developers looking to interact with GitHub programmatically.
plugin-rest-endpoint-methods.js
Octokit plugin adding one method for all of api.github.com REST API endpoints
Usage
Browsers
|
Load @octokit/plugin-rest-endpoint-methods and @octokit/core (or core-compatible module) directly from cdn.skypack.dev
<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>
|
---|
Node
|
Install with npm install @octokit/core @octokit/plugin-rest-endpoint-methods . Optionally replace @octokit/core with a compatible module
const { Octokit } = require("@octokit/core");
const {
restEndpointMethods,
} = require("@octokit/plugin-rest-endpoint-methods");
|
---|
const MyOctokit = Octokit.plugin(restEndpointMethods);
const octokit = new MyOctokit({ auth: "secret123" });
octokit.rest.users.getAuthenticated();
There is one method for each REST API endpoint documented at https://developer.github.com/v3. All endpoint methods are documented in the docs/ folder, e.g. docs/users/getAuthenticated.md
TypeScript
Parameter and response types for all endpoint methods exported as { RestEndpointMethodTypes }
.
Example
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
, which is a direct transpilation from GitHub's official OpenAPI specification.
Contributing
See CONTRIBUTING.md
License
MIT