Mosura is an opinionated Task management frontend.
10K+
Mosura is an opinionated Task management frontend. Overall project goals are:
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 [email protected] \
-e JIRA_DOMAIN=https://myinstance.atlassian.net \
-e [email protected] \ # (optional; defaults to JIRA_AUTH_USER)
-e MOSURA_CUSTOM_JQL='project = MOS AND labels = triage' \ # (optional)
-e MOSURA_APPDATA=/data \ # (optional, default: .)
-e MOSURA_PORT=8080 \ # (optional, default: 8080)
--restart unless-stopped \
quay.io/thekevjames/mosura:latest
Mosura sync scope is user-centric: issues are included if they are
assigned to MOSURA_USER (or JIRA_AUTH_USER when unset) and/or match
MOSURA_CUSTOM_JQL when provided. Startup fails fast if the tracked
user cannot be resolved in Jira.
# TODO: docker-compose, k8s
Can also be run locally for development purposes:
export ...
uv sync
uv 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=60
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-123summary: the short title of the ticketdescription: the long-form body of the ticketstatus: the current status of the ticket
Needs Triage value, it will get highlighted as
requiring attention in the issue list and coloured red in the
timelineIn Progress or Code Review will get coloured yellow in the
timelineClosed will be red on the chart and will not be visible anywhere
elsepriority: the determined priority of the ticket
Low, Medium, High, and Urgent will get special iconsassignee: the assigned user
assignee matches your configured tracked Jira user, the
"my issues" page will workcustomfield_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
components: arbitrary list of components
labels: arbitrary list of labels
votes: the collection of user votes on the issueContent type
Image
Digest
sha256:bb2a1d82e…
Size
87.5 MB
Last updated
2 days ago
docker pull thekevjames/mosura