Browse and act on your My Tasks list without leaving Emacs!
You'll need these packages, available from melpa via M-x package-install
:
helm
exec-path-from-shell
Add this to your .bash_profile
(or wherever you keep your environment):
# Get a Personal Access Token from the `apps' tab in your app.asana.com profile settings.
export ASANA_TOKEN="<my-asana-personal-access-token>"
Add this to your init.el
:
(global-asana-mode 1)
;; or, if you prefer, use it in specific major modes:
;; (add-hook 'org-mode-hook 'asana-mode)
;; (add-hook 'prog-mode-hook 'asana-mode)
;; (add-hook 'text-mode-hook 'asana-mode)
[Optional] The default prefix for asana-mode
commands is C-c a
. To change it, add this to your init.el
:
(setq asana-keymap-prefix "C-c C-a") ; Or whatever you'd like to use as your prefix
In the asana-mode
minor mode, the following interactive commands are available:
helm-asana [C-c a a]
helm-asana-change-workspace [C-c a A]
asana-create-task-quickly [C-c a c]
asana-create-task [C-c a C]
The helm-asana
task list provides these actions:
Select (view task details in buffer) [RET]
Browse (open in Asana) [C-b]
Move to section [C-:]
Complete [C-RET]
Delete [C-DEL]
Move all marked tasks to section [M-:]
Complete all marked tasks [M-RET]
Delete all marked tasks [M-DEL]
OSX El Capitan can break exec-path-from-shell
, which corrupts your access token as it gets imported into Emacs. See purcell/exec-path-from-shell#41 for more details. One available workaround is to disable OSX bash sessions with touch ~/.bash_sessions_disable
.
- Pagination for > 100 tasks
- Improve API request batching & async around multi-select and assignee_status updates
- Improve error messages, for example around ASANA_TOKEN not found
- Improve/add docstrings
- Publish v1.0 as package