Full feature overview

Everything Open Task Hub provides out of the box — from issue tracking and sprints to a full REST API and audit log.

Issue Management

Issues are the heart of Open Task Hub. Each issue belongs to a project, has a sequential number (e.g. ALPHA-7), and carries rich metadata to help your team track work precisely.

Issue Types

Classify every piece of work with a meaningful type.

TASK BUG STORY EPIC

Priorities

Signal urgency clearly with four priority levels.

LOW NORMAL HIGH CRITICAL

Issue Statuses

Seven statuses cover the full life of every issue, including special terminal states for rejected or duplicate work.

StatusMeaning
OPENNot yet started — in the backlog.
IN PROGRESSActively being worked on.
BLOCKEDCannot proceed — waiting on something.
IN REVIEWWork done, under review (PR, QA…).
DONECompleted and accepted.
REJECTEDWill not be implemented.
DUPLICATESame as another existing issue.

Comments & Internal Notes

Team members can add comments to any issue. Mark a comment as an internal note to make it visible to project members only — useful for sensitive context without cluttering the public view.

Sprint Management

Organise work into time-boxed sprints. Each sprint belongs to a project and moves through a defined lifecycle.

Sprint Lifecycle

Sprint fields

  • Name — e.g. "Sprint 1"
  • Goal — what the sprint delivers
  • Start date and end date
  • Status — PLANNING / ACTIVE / COMPLETED

Issue assignment

  • Add any project issue to a sprint
  • Remove issues from a sprint at any time
  • One issue can be in at most one active sprint
  • Carry-over unfinished issues to next sprint via API

API operations

  • POST /sprints — create sprint
  • POST /sprints/{id}/start — activate
  • POST /sprints/{id}/complete — finish
  • POST/DELETE /sprints/{id}/issues/{n}

Projects & Members

Each project has a unique short key (e.g. ALPHA), a name, description, and a visibility setting.

Project visibility

VisibilityWho can see issues?
PUBLIC Any authenticated user can browse the project.
PRIVATE Only project members (and admins) can access it.

Member roles

RolePermissions
OWNER Full control: manage members, settings, delete project, create/edit/delete all issues and sprints.
MEMBER Create and edit issues, add comments, manage sprints. Cannot change project settings or members.
VIEWER Read-only access. Can view issues and comments. Cannot create or modify anything.
Admin role: Users with the system ADMIN role bypass all project-level permission checks and can access or modify any project, regardless of membership.

Labels & Categories

Labels are per-project, fully customisable tags that help you filter, categorise and quickly scan issues. Each label has:

  • A name (e.g. "frontend", "performance")
  • A hex colour for visual distinction
  • An optional description

Labels are scoped to the project — teams can define exactly the taxonomy that fits their workflow.

Example label set

bug enhancement frontend backend performance wontfix docs good first issue critical api ui/ux testing

Labels above are examples only. Create any label with any colour in each project.

Audit Log

Every significant action in Open Task Hub is recorded as an immutable audit event. Nothing is ever silently changed — leadership and compliance teams can always see who did what.

Example audit events

Timestamp Actor Event Target Detail
2026-06-06 09:14:02 alice ISSUE_CREATED ALPHA-7 Issue "Set up CI pipeline" created with priority NORMAL
2026-06-06 10:31:45 bob ISSUE_STATUS_CHANGED ALPHA-7 Status changed from OPEN to IN_PROGRESS
2026-06-06 11:05:17 alice SPRINT_STARTED Sprint 1 Sprint "Sprint 1" (ALPHA) moved to ACTIVE
2026-06-06 14:22:59 charlie COMMENT_ADDED ALPHA-7 Internal note added (visible to members only)
2026-06-06 16:00:00 alice ISSUE_STATUS_CHANGED ALPHA-7 Status changed from IN_REVIEW to DONE

Audit events are stored in the database and can be queried from the dashboard. They capture the actor, timestamp, event type, target entity, and a human-readable detail string.

REST API Overview

All data in Open Task Hub is accessible via a RESTful API rooted at /api. Authenticate with HTTP Basic using your username and password.

GET/POST /api/projects

List or create projects.

GET/POST /api/projects/{key}/issues

List or create issues in a project.

GET /api/projects/{key}/issues/{n}

Get a specific issue by number.

GET/POST /api/projects/{key}/sprints

List or create sprints.

POST /sprints/{id}/start

Activate a sprint.

POST/DELETE /sprints/{id}/issues/{n}

Add or remove issues from a sprint.

Full API Reference Configuration

Web UI — Thymeleaf

The entire user interface is rendered server-side with Thymeleaf templates. No client-side framework required — the app works even with JavaScript disabled.

  • Form-based login at /login
  • Dashboard at /dashboard with stats
  • Project list, issue list, issue detail
  • Sprint management pages
  • Member management
  • Label management
  • Audit event timeline

Authentication

Two authentication mechanisms are supported simultaneously:

Form Login (Browser)

POST to /login with username and password fields. Session cookie is returned. Best for human users.

HTTP Basic (API)

Send Authorization: Basic <base64> header with every request. Ideal for scripts, CI/CD and integrations.