github-issues.el --- Emacs utility functions and modes for managing GitHub projects' issues
Emacs Lisp
Switch branches/tags
Nothing to show
Latest commit 816f771 Jun 16, 2016 @inkel inkel Merge pull request #9 from purcell/master
Misc fixes and improvements


An Emacs mode for managing project's issues on GitHub.

The final goal for using github-issues.el is to list, show, add, edit, remove, comment and assign issues on GitHub hosted projects without leaving Emacs.


I've tried to keep the dependencies to a minimum. Current dependencies are:

  • tabulated-list
  • url
  • font-lock


github-issues (user repo)

Opens a github-issues-mode buffer listing the issues for the given user and repository.

github-issue (user repo number) NOT IMPLEMENTED

Interactive function that opens a new github-issue-mode buffer with the given issue description.

Non-interactive functions

github-issues-buffer (user repo)

Creates or return the buffer for the given user and repository.�

github-issue-buffer (user repo number)

Creates or return the buffer for the given issue.


Parses the JSON response from a GitHub API call.

github-api-repository-issues (user repo)

Returns a list of issues in plist format.

github-api-repository-issue (user repo number)

Return an issue data in plist format.

github-issues-populate (buffer issues)

Populates the given buffer with a list of issues. See github-api-repository-issues.

github-issue-populate (buffer issue)

Populates the given buffer with an issue description. See github-api-repository-issue.



Major mode derived from tabulated-list-mode, to display a list of issues.

In this mode the following keymap is active:

  • C-c r: refresh the list of issues.


Major mode derived from font-lock-mode to display a given issue data.

In this mode the following keymap is active:

  • C-c r: refresh the issue data.
  • C-c o: open the issue in a browser.
  • C-c a: open the issue author page in a browser.


  • Cache results and add refresh functions.
  • Improve descriptions.
  • Add keymaps.
  • Improve issue information.
  • Add GitHub's authentication for issue management.
  • Add issues pagination.
  • Add customization options.
  • Add comments on issues buffers.
  • Allow comments on issues.