Use Jira in Emacs org-mode.
For usage, please watch this youtube video. Or watch it on youku if you can’t visit youtube for some reason. My apologies beforehand if you find the video too verbose and boring.
To save the settings in your .emacs, you need only do 2 things:
- Set the
defcustom
variables defined in jiralib.el (actually only thejiralib-url
is required, as the other 2 are usually computed from it correctly and is the case in the video demo):3 matches for "\bdefcustom\b" in buffer: jiralib.el 55:(defcustom jiralib-host "" 107:(defcustom jiralib-wsdl-descriptor-url 120:(defcustom jiralib-url
- Write your password in
~/.authinfo
, with machine being the (computed) jiralib-host, and the port being 80 (even if you are using https for Jira):machine JIRALIB-HOST login USERNAME password XXXXX port 80
If you do not set USERNAME here, then it will be prompted using the minibuffer; if you set the wrong username/password, then it won’t work.
The emacs-soap-client package is required, I used to bundle it together with org-jira (because I had a patch for adding comments in Chinese), but tarsius pointed out to me it is not a good idea. So please install that package along with org-jira.
About the patch, I have submitted it upstream. You can download it from the attachment url if it is not accepted yet.
Update: the issue has been fixed by the author, and I’ve learned from him that emacs-soap-client is bundled with GNU Emacs itself now, and he will push the fix into it. So we just need to wait a bit more.
Here is the list of commands supported by org-jira, with a simple help (the first line of elisp doc). It is created with C-h a org-jira RET :-)
You can C-h f on each command to get more detailed help, or just read my ugly source code:-)
org-jira-browse-issue M-x ... RET Open the current issue in external browser. org-jira-copy-current-issue-key M-x ... RET Copy the current issue's key into clipboard org-jira-create-issue M-x ... RET Create an issue org-jira-create-subtask M-x ... RET Create an subtask issue org-jira-get-issues M-x ... RET Get list of issues. Default is get unfinished issues assigned org-jira-get-issues-from-filter M-x ... RET Get issues from filter which are jql created and saved on the org-jira-get-issues-from-filter-headonly M-x ... RET Get issues *head only* from saved filter. See `org-jira-get-issues-from-filter' org-jira-get-issues-headonly M-x ... RET Get list of issues assigned to you and unresolved, head org-jira-get-projects M-x ... RET Get list of projects. org-jira-get-subtasks M-x ... RET Get subtasks for the current issue org-jira-mode M-x ... RET Toggle org-jira mode. org-jira-progress-issue M-x ... RET Progress issue workflow org-jira-refresh-issue M-x ... RET Refresh issue from jira to org org-jira-todo-to-jira M-x ... RET Convert an ordinary todo item to a jira ticket org-jira-update-comment M-x ... RET Update or create a comment for the current issue org-jira-update-issue M-x ... RET Update an issue
This plug-in is greatly inspired by org2blog.
The emacs-soap-client is the underlying library used to communicate with Jira. This project provided a sample jira2.el and I started with that file.
This readme is written using org-mode itself.