Skip to content

Reports

Reports

Project Reports turn the Work Item history that Hamstik already records into repeatable delivery measures. Open Reports from a Project and share the URL to preserve the selected report, range, unit, grouping, and filters.

Reports use the Project’s authorized, non-archived Work Items and append-only history. Calendar boundaries use the report timezone. A report may show a limitation when its bounded input or date range is capped; the cap is never silently hidden.

Report definitions

Velocity

Velocity compares the immutable Sprint-start commitment with work completed while the item belonged to that Sprint, using its points at completion. The default view uses the last six completed Sprints; active Sprints can appear for context but are excluded from the rolling average. A missing completion is shown as No data, not as zero. When point commitments are available, the report uses points and also exposes item counts; otherwise it uses item counts. The unit and rolling-average window are URL controls. Selecting a Sprint bar opens that Sprint.

Cumulative flow

Cumulative flow shows each canonical Work Item status at the end of every day in the selected timezone. Its WIP definition is todo, in_progress, and in_review; backlog and done remain visible as separate bands. Skipped statuses move directly between recorded states, work does not appear before its creation, reopened work follows its history, and quiet days repeat the last known state. The default daily range is 30 days and the maximum is 90 days.

Control chart

The control chart plots completed Work Items using elapsed wall-clock time. Lead time runs from creation to the final transition into done. Cycle time runs from the first entry into the selected start status to that final completion. Only work that is currently done is sampled; currently reopened work is reported as excluded. The rolling average and standard-deviation window can be changed; outliers remain visible.

Ageing WIP

Ageing WIP includes open Work Items and measures calendar days, in the selected timezone, since each item entered its current status. The standard, inclusive buckets are 0–3, 4–7, 8–14, 15–30, 31–60, and 61+ days and can be replaced with ascending inclusive limits. The report shows mean, median, and oldest work. Each bucket links to exactly the Work Items shown in that bucket. If no status transition is available, creation time is the documented fallback.

Created vs resolved

Created uses the Work Item creation timestamp. Resolved uses the timestamp of the most recent transition into done, not the item’s current updatedAt. An item reopened after its most recent resolution returns to net open in the reopen interval. Rows are zero-filled for quiet intervals and satisfy net = created + reopened - resolved and cumulative open = prior cumulative open + net. Day, Monday- week, and month intervals are available.

Distribution

Distribution groups an open or all-item population by status, type, priority, assignee, or label. None is explicit for unassigned Work Items and items without labels. Label groups represent label assignments, so an item can occur in more than one label group. Large groupings retain the first 20 groups and show the remainder as Other, with the cap stated in the report.

Epic progress

Epic progress counts only direct children of each Epic in the same Project. Child-of-child work is not rolled into its grandparent, and unparented work is omitted from Epic rows. Epics with no children remain visible with no-data percentages. Progress is available by completed-child count and by recorded story points; the report identifies partial estimation when some children do not have points.

Every chart has a complete accessible table with the same values. Chart marks use text, borders, or patterns in addition to color and the chart region is keyboard focusable. Work Item and bucket links preserve the report population when opening the Work Item list. CSV exports use a stable header and column order. SVG and PNG exports include a readable text rendition and adapt to the current light or dark theme.

The report body is intentionally dense and data-focused; it does not use mascot artwork. Empty states use the same textual definition and action rather than relying on illustration to communicate report status.

Saved and shared reports

Choose Save current report to store the report type and complete URL state under a personal name. This includes project-wide reports and a selected Sprint report. Saved reports can be listed, reopened, renamed, deleted, or copied as a shareable URL. Pinning a saved report adds it to the Project overview for the current user. Opening a shared URL still performs ordinary Organization and Project authorization; the saved name itself is never shared.

API

The same seven report kinds are available through Public API v1 at:

GET /api/v1/organizations/{organizationSlug}/projects/{projectKey}/reports/{reportType}

Use project:read, Organization membership, and Project access. The machine-readable parameters, response schemas, error behavior, authorization, and bounded cursor pagination are authoritative in the OpenAPI document.

The API accepts the report controls as query parameters, including range, start, end, timeZone, unit, interval, measure, cycleStartStatus, window, groupBy, scope, sprint, sort, q, squeakql, status, type, priority, assignee, label, and buckets. Collection rows are available through items and the standard opaque-cursor page object. A request for a Project in another Organization or without access is indistinguishable from a missing resource.