Skip to content

Forge Issue managementλ︎

Issues can be viewed, created and updated, providing full synchronisation between Emacs and the remote GitHub / GitLab service.

View issues listλ︎

@ l i opens a buffer with a list of issues with the most recent at the top. Issue labels also show in the list using the the color assigned on GitHub.

Spacemacs Magit Forge Issues list with labels Spacemacs Magit Forge Issues list with labels

In the issue list buffer:

o opens the list in the default browser

j to navigate down, k to navigate up the list

q to quit and close the buffer

Configure number of open and closed items shown

(setq forge-topic-list-limit '(100 . 0)) added to the dotspacemacs/user-config section of .spacemacs hides all closed issues and pull requests from the list, showing up to 100 open items from each.

(setq forge-topic-list-limit '(100 . -10)) and use SPC SPC forge-toggle-closed-visibility to toggle showing 10 of the latest closed topics for issues and pull requests.

practicalli/spacemacs.d configuration contains this setting.

Create an issueλ︎

@ c i to create a new issue on the current repository.

A new buffer is displayed to write the issue details (issue post).

Spacemacs Magit Forge - create issue post Spacemacs Magit Forge - create issue post

, , or Z Z to create the issue and push it to the remote repository.

, k or Z Q to cancel the issue.

A newly created issue is added to the top of the Issues list in the Magit status buffer.

View Issueλ︎

RET on the issue opens the issue and shows the details.

Magit Forge issue view

Related issues are shown as a link, RET on the link opens the related issue in the browser.

Markdown support

Pull Request descriptions will use markdown when displayed in GitHub.

tripple backtic `` for code / key highlighting,#for headings,---for horizontal lines,- [ ]` for list item

Spacemacs Magit Forge Topic Issue description with Clojure code block example Spacemacs Magit Forge Topic Issue description with Clojure code block example

Update an issueλ︎

@ l i to list the current issues (@ f f to update the topics if the issue is not listed)

In the issue list buffer, navigate (j, k) to the issue to be edited.

Enter to open the issue in its own buffer

j, k` to navigate to each section of the issue (title, assignee, label, mark, description, comments)

, e or C-c C-e to edit the current section of the issue.

For title, assignee, label and mark a prompt shows in the mini-buffer. Enter a value and press RET

For description and comments a separate buffer opens with editable text.

, , or Z Z to save changes and push them to the remote repository. , k or Z Q to cancel changes and return to the issue.

As soon as a value or text is saved, a request is sent to the remote forge to update the issue.

q to close the issue and issue list buffers.

This approach works for other topics types also, e.g. pull requests.