Mosura is an opinionated Task management frontend. Overall project goals are:
- usage agnostic: team members using Mosura should not conflict with those who do not
- minimal views: if you don't use a feature, it shouldn't bloat your interface or slow you down
- opinionated workflows: Mosura assumes you're looking for a simplified experience and trims out all the inessential cruft
I don't currently expect Mosura to be useful for anyone but myself. Maybe eventually!
First off, you'll need to create a Jira API token.
Best run via docker/podman/etc:
docker run -d \
--name=mosura \
-p 8080:8080 \
-v /path/to/appdata:/data \
-e JIRA_AUTH_TOKEN=mytoken123456 \
-e JIRA_AUTH_USER=myuser@example.com \
-e JIRA_DOMAIN=https://myinstance.atlassian.net \
-e JIRA_LABEL_OKR=okr \ # (optional, default: okr)
-e JIRA_PROJECT=MOS \
-e JIRA_TEAM='1234-5678' \ # (optional, id)
-e JIRA_OTHER_PROJECTS='ASDF,FDSA' \ # (optional, comma-separated)
-e MOSURA_APPDATA=/data \ # (optional, default: .)
-e MOSURA_HEADER_USER_EMAIL=X-Token-User-Email \
-e MOSURA_PORT=8080 \ # (optional, default: 8080)
--restart unless-stopped \
quay.io/thekevjames/mosura:latest
# TODO: docker-compose, k8s
Can also be run locally for development purposes:
export ...
export MOSURA_USER=... # force the user without going through auth
poetry install --sync
poetry run uvicorn mosura.app:app --reload
In development mode, there's a few extra env vars you may want to set:
export PYTHONDEVMODE=1
export PYTHONWARNINGS=error
export MOSURA_POLL_INTERVAL_OPEN=60
export MOSURA_POLL_INTERVAL_CLOSED=600
We make the following assumptions about your workflow / project setup. Note that much of this section also doubles as a "TODO: make these configurable" list.
Overall, we assume your project is configured at minimum with the following fields:
key
: eg.MOS-123
summary
: the short title of the ticketdescription
: the long-form body of the ticketstatus
: the current status of the ticket- if you use a
Needs Triage
value, it will get highlighted as requiring attention in the issue list and coloured red in the timeline In Progress
orCode Review
will get coloured yellow in the timelineClosed
will be red on the chart and will not be visible anywhere else
- if you use a
priority
: the determined priority of the ticketLow
,Medium
,High
, andUrgent
will get special icons
assignee
: the assigned user- if the
assignee
matches your configured Jira credentials, the "my issues" page will work
- if the
customfield_12161
: a.k.a.Start Date
; if anyone is aware of a builtin version of this, I'd love to switch overOriginal estimate
: the time estimate for the ticket- if a ticket has a start time and a time estimate, and that timespan is close to the current date (between a couple weeks in the past and a couple months in the future), it will get drawn onto the timeline
components
: arbitrary list of components- if a ticket has no listed components, it will get highlighted as requiring attention
labels
: arbitrary list of labels- if a ticket has no listed labels, it will get highlighted as requiring attention
- if the label matches your configured "OKR Label" setting (default:
okr
), ensure it appears on the timeline page
votes
: the collection of user votes on the issue