Sarso is not Jira.
Sarso does a local sync of Jira projects to provide better and faster offline workflows. This includes integration with Org-mode, faster find and create methods etc. Sarso is not a replacement for the Jira interface but covers what I need to do on regular basis, faster.
There are two programs here:
- A CLI executable,
sarso
for syncing issues to an sqlite database. - An Emacs package for working with the database.
The CLI can be built and installed using the following:
make
sudo make install
The CLI itself can be used standalone to sync tickets. For this you need to setup following environment variables:
export JIRA_BASE="https://company.atlassian.net" export JIRA_USER="username" export JIRA_TOKEN="token/pass"
Though the recommended way is to interact with the Emacs package that handles environment variables and other things on its own. You can install the package using the usual methods. It’s not on melpa.
Here is an example config for the Emacs package.
(setq sarso-jira-root "https://vernacular-ai.atlassian.net"
sarso-jira-user "abhinav@vernacular.ai"
sarso-jira-token "<token>"
sarso-self-email "abhinav@vernacular.ai"
sarso-org-sink-files `((,(concat user-notes-dir "tasks/research.org") . ("RES"))
(,(concat user-notes-dir "tasks/ml-product.org") . ("PROD" "CORE")))
sarso-sync-projects '("RES" "CORE" "PROD"))
(add-hook 'sarso-post-sync-hook #'sarso-self-issues-to-org)
Call sarso-sync
. Or set on repeat: (run-with-timer 60 (* 60 30) #'sarso-sync)
.
Use sarso-self-issues-to-org
. You can also set this in sarso-post-sync-hook
so
it runs automatically after each sync.