disclaimer: I know there are multiple jira-to-org extensions available already. For what I’ve seen thus far is that none of them support using multiple instances out of the box. If I ever find the time to look into these packages and figure out a nice solution that may make these functions obsolete I will update this post accordingly.
At the company I work at we work on multiple projects and those projects belong to multiple clients. As a result we have a multitude of Jira boards spread across multiple Jira instances. Sometimes I just want to be able to quickly jump to either a specific issue (when a coworker mentions it on a video call) or to the board itself. This package will give me access to both at lightning speed, without having to navigate that great Jira UI.
To open an issue or the board itself, press C-c j j (or M-x
jira-jump RET) in any buffer, and it will open the page in your
default browser.
When you invoke this command the commandline will query you for the
project slug of which the completion has been prefilled with all
configured project slugs. Pressing Enter on a project slug will
take you to the project board. However, if you suffix the slug with
an issuenumber (e.g. FOOBAR-123) it will take you directly to the
issue instead.
Sometimes, you don’t need the page to be opened, but you need the actual link instead.
- Prefixing this command a single time (
C-u C-c j j) will send the link to the kill-ring instead. - Prefixing it twice (
C-u C-u C-c j j) will insert an org-mode link into the current buffer.
And sometimes, you’ve got a ticket written down. Evaluate
jira-jump-issue-at-point (C-c j p) will take the symbol under the
marker and open it in the browser.
You can install this package using straight. Configure
jira-jump--projects as shown in the example below.
(use-package jira-jump
:ensure
:straight (jira-jump :repo "https://github.com/faijdherbe/jira-jump.el")
:bind (("C-c j j" . jira-jump-open-in-browser)
("C-c j w" . jira-jump-send-to-kill-ring)
("C-c j l" . jira-jump-insert-org-mode-link)
("C-c j p" . jira-jump-issue-at-point))
:config
(setq jira-jump--projects
'(("Client A" . ((instance . "https://client_a.atlassian.net")
(projects . ("FOO" "BAR"))))
("Client B" . ((instance . "https://client_b.atlassian.net")
(projects . ("GARDN" "LIVINGRM" "KITCHN"))))
("Internal" . ((instance . "https://my-company.atlassian.net")
(projects . ("DEVIMPR" "ONBOARDNG" "SUPPRT")))))))