Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
@octokit/plugin-rest-endpoint-methods
Advanced tools
Octokit plugin adding one method for all of api.github.com REST API endpoints
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.
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' })"}
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.
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.
Octokit plugin adding one method for all of api.github.com REST API endpoints
Browsers |
Load
|
---|---|
Node |
Install with
|
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. All endpoint methods are documented in the docs/ folder, e.g. docs/users/getAuthenticated.md
[!IMPORTANT] As we use conditional exports, you will need to adapt your
tsconfig.json
by setting"moduleResolution": "node16", "module": "node16"
.See the TypeScript docs on package.json "exports".
See this helpful guide on transitioning to ESM from @sindresorhus
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.
See CONTRIBUTING.md
FAQs
Octokit plugin adding one method for all of api.github.com REST API endpoints
The npm package @octokit/plugin-rest-endpoint-methods receives a total of 5,820,382 weekly downloads. As such, @octokit/plugin-rest-endpoint-methods popularity was classified as popular.
We found that @octokit/plugin-rest-endpoint-methods demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.