github-apis

1.0.8 • Public • Published

GitHub's REST API

npm Support Node of LTS dependencies Status

To get GitHub repository issues, comments, assignee and repository access
to perform listing, creating, updating and deleting operations.

Installation

$ npm install github-apis

Usage

var { listIssues, createIssue, updateIssue } = require("github-apis");
var { listRepos, createRepo, updateRepo, deleteRepo } = require("github-apis");
var { listComments, createComment, updateComment } = require("github-apis");
var { listAssignees, addAssignees, removeAssignees } = require("github-apis");

GitHub Issue Examples

// List repository issues
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
};

(async () => {
  console.log(await listIssues(options)); // returns <issues_data>
})();
// List a repository issue
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
  body: {
    issue_number: 23, // required
  },
};

(async () => {
  console.log(await listIssue(options)); // returns <issue_data>
})();
// Create issue on a repository
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
  body: {
    title: "title", // required
    body: "body",
    state: "open", // open or closed
    labels: ["bug", "dev"],
  },
};

(async () => {
  console.log(await createIssue(options)); // returns <created_issue_data>
})();
// Update a issue on repo like title, body, status, labels
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
  body: {
    title: "title",
    body: "body",
    issue_number: 23, // required
    state: "closed", // open or closed
    labels: ["enhancement", "qa"],
  },
};

(async () => {
  console.log(await updateIssue(options)); // returns <updated_issue_data>
})();
// Lock an issue
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
  body: {
    issue_number: 23, // required
    lock_reason: "lock_reason",
  },
};

(async () => {
  console.log(await lockIssue(options)); // returns <>
})();
// Unlock an issue
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
  body: {
    issue_number: 23, // required
  },
};

(async () => {
  console.log(await unlockIssue(options)); // returns <>
})();

GitHub Repository Examples

// List all repository for the authenticated user
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "",
};

(async () => {
  console.log(await listRepos(options)); // returns <repos_data>
})();
// List a repository for the authenticated user
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
};

(async () => {
  console.log(await listRepo(options)); // returns <repo_data>
})();
// Create a repository for the authenticated user
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  body: {
    name: "name", // new repo name
    description: "description",
    private: false, // true or false
  },
};

(async () => {
  console.log(await createRepo(options)); // returns <created_repo_data>
})();
// Update a repository details and its privacy
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
  body: {
    name: "name",
    description: "description",
    private: false, // true or false
    archived: false, // true or false
  },
};

(async () => {
  console.log(await updateRepo(options)); // returns <updated_repo_data>
})();
// Delete a repository
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
};

(async () => {
  console.log(await deleteRepo(options)); // returns <>
})();

GitHub Issue Comment Examples

// List issue comments for a repository
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
};

(async () => {
  console.log(await listComments(options)); // returns <issue_comments_data>
})();
// Get an issue comment
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
  body: {
    comment_id: "comment_id", // required
  },
};

(async () => {
  console.log(await listComment(options)); // returns <issue_comment_data>
})();
// Create an issue comment
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
  body: {
    issue_number: "issue_number", // required
    body: "comment_data",
  },
};

(async () => {
  console.log(await createComment(options)); // returns <created_comment_data>
})();
// Update an issue comment
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
  body: {
    comment_id: "comment_id", // required
    body: "comment_data",
  },
};

(async () => {
  console.log(await updateComment(options)); // returns <updated_comment_data>
})();
// Delete an issue comment
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
  body: {
    comment_id: "comment_id", // required
  },
};

(async () => {
  console.log(await deleteComment(options)); // returns <>
})();

GitHub Issue Assignees Examples

// Lists the available assignees for issues in a repository.
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
};

(async () => {
  console.log(await listAssignees(options)); // returns <assignees_data>
})();
// Checks a user has permission to an issue in this repository.
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
  body: {
    assignee: "assignee", // required
  },
};

(async () => {
  console.log(await checkAssignee(options)); // returns <assignee_data>
})();
// Add assignees to an issue
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
  body: {
    issue_number: 42, // required
    assignees: ["assignees", "assignees"], // required
  },
};

(async () => {
  console.log(await addAssignees(options)); // returns <added_assignees_data>
})();
// Removes one or more assignees from an issue.
const options = {
  token: "1e3ed294c3f7tce7btdcdg18t88d98b743f9ac48t135656",
  owner: "owner", // owner or user
  repo: "repo",
  body: {
    issue_number: 42, // required
    assignees: ["assignees", "assignees"], // required
  },
};

(async () => {
  console.log(await removeAssignees(options)); // returns <assignees_data>
})();

For more body options flow github docs, set the param into the body.

To authenticate with GitHub, set the token option.

License

MIT license.

Copyright

Copyright © 2021. S.Gupta

Package Sidebar

Install

npm i github-apis

Weekly Downloads

71

Version

1.0.8

License

MIT

Unpacked Size

30.6 kB

Total Files

9

Last publish

Collaborators

  • samkgpt