Skip to content

Emacs integration for Altassian's Jira. Support listing and filtering issues, showing their details, modifying some of their properties or adding worklogs.

License

Notifications You must be signed in to change notification settings

unmonoqueteclea/jira.el

Repository files navigation

jira.el

Emacs integration for Atlassian's Jira.

If you have no choice but to use Jira, at least do it without leaving Emacs.

Supports listing and filtering issues, viewing issue details, modifying certain properties, and adding worklogs.

Additionally, it provides support for displaying all worklogs from the Tempo integration.

Screenshots

  • List issues

List issues

  • Filter issues

Filter issues

  • Change selected issue

Change issue

List Worklogs

Installation

This package is not yet available in any official repository (though it's in progress). You can install it using straight.el

(use-package jira
  :straight (:host github :repo "unmonoqueteclea/jira.el")
  :demand t
  :config
  (setq jira-username "johndoe@acme.com") ;; Jira username (usually, an email)
  (setq jira-base-url "https://acme.atlassian.net") ;; Jira instance URL
  ;; API token for JIRA
  ;; See https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/
  (setq jira-token "foobar123123")
  ;; (Optional) API token for JIRA TEMPO plugin
  ;; See https://apidocs.tempo.io/
  (setq jira-tempo-token "foobar123123"))

Quickstart

Use M-x jira-issues to check the list of issues assigned to the configured user for the active sprint. Once the list is loaded, press ? to see the available actions. You can modify the filters, update the selected issue, add worklogs, and more.

Press l to select the filters to be applied to the list of issues. You can filter by several fields or even write your own JQL filter.

  • Thanks to transient, all the transients arguments can be set temporarily or permanently. See transient docs for more information.

  • Check out tablist docs for additional keybindings to manage the table (sorting, filtering, exporting, etc)

If you configured Tempo integration, you can also run jira-tempo to view the list of worklogs for the current week.

Customization

This is the list of customizations you can set:

  • jira-username: Mandatory: Jira username (usually, an email)
  • jira-base-url: Mandatory: Jira instance URL, like: https://acme.atlassian.net
  • jira-token: Mandatory: Jira REST API token
  • jira-tempo-token: Jira tempo.io API token
  • jira-debug: Whether to log jira.el internal processes data, including API responses
  • jira-issues-max-results: Maximum number of Jira issues to retrieve
  • jira-tempo-max-results: Maximum number of Tempo worklogs to retrieve
  • jira-statuses-done: A list of statuses names representing done state
  • jira-statuses-progress: A list of statuses names representing progress state
  • jira-statuses-todo: A list of statuses names representing TODO
  • jira-statuses-error: A list of statuses names representing problems

About

Emacs integration for Altassian's Jira. Support listing and filtering issues, showing their details, modifying some of their properties or adding worklogs.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published