URSACORP Apps / Worklog Pivot

Worklog Pivot

A Jira project page that turns logged time into a pivot table: authors down the side, epics across the top, weekly detail, and CSV export.

See it before installing: open the three-step walkthrough and sample CSV reports, or watch the 36-second video. The demo uses invented worklogs and real product screens.

Already tried it? Tell us about your reporting task: what you need, how often, and what blocked you. Please leave out confidential worklogs and customer data.

How it works

Answer "who logged how much time on what" without buying a timesheet suite.

Worklog Pivot adds one page to a Jira project. You pick a date range and it builds a pivot of logged hours: worklog authors down the side, epics across the top, and totals along both edges. One toggle splits each author into ISO weeks. Sub-tasks group under their story's epic, and issues with no epic collapse into a single No epic column.

Why it is correct where simpler tools are not

Reports covering more than 2,000 issues are truncated, with a visible warning rather than a silently short answer.

Key features

Setup

  1. Install the app from the Marketplace. This needs Jira administrator rights.
  2. Open any Jira project.
  3. In the project sidebar, choose Worklog Pivot.
  4. Choose a date-range preset, or choose Custom range and set the start and end dates, then select Run report. The initial report loads automatically.
  5. The app uses the timezone provided by Jira, falling back to UTC. Check the footer for the timezone used; there is no timezone selector in the app.

Verifying that it works

What you need on the site first

Steps

  1. Open the project and choose Worklog Pivot in the sidebar.
  2. Set a date range that covers most, but not all, of the worklog entries you created.
  3. Check the shape. Rows should be worklog authors, columns should be epics, and there should be a No epic column for issues with no parent epic.
  4. Check a cell. Pick one author and one epic. Add up the hours that person logged inside the range on issues under that epic, using the issues' own Work log tabs. The cell should match.
  5. Check the totals. Compare totals using the exact seconds in the raw worklog export. Displayed cells and totals are rounded independently to two decimal places, so adding the displayed cells can differ slightly from the displayed total.
  6. Check the entry-level filtering. The footer should report a non-zero number of excluded entries, matching the entries you deliberately placed outside the range. This is the behaviour that distinguishes it from an issue-level date filter.
  7. Check the weekly split. Turn on the weekly toggle. Each author should split into ISO weeks, and the totals should still reconcile to the same grand total.
  8. Check the exports. Export the pivot as CSV and open it. It should match what is on screen. Then export the raw worklog rows and confirm they are the individual entries behind the pivot. The filename carries the project, the range and the timezone.
  9. Check the timezone. Read the timezone in the report footer. For worklogs near midnight, compare the included date using that same timezone rather than your device timezone.
  10. Check the permission boundary. Open the page as a user who cannot see some of the project's issues. Only worklogs on issues that user can already open in Jira should be counted.

Permissions

The app requests a single read-only permission, read:jira-work, and no write permission of any kind.

It is used to read worklog entries together with the issues and projects those worklogs belong to, so time can be grouped by author, by issue and by project. Reading issues and projects is required because a worklog entry on its own carries no issue summary or project name to group by.

Every request is made with asUser(), so a viewer only ever sees worklogs on issues they could already open in Jira themselves.

Data handling

No data leaves your Atlassian site. The manifest declares no external permissions and the source contains no outbound network call, so the app is eligible for Atlassian's Runs on Atlassian programme. The app stores nothing. CSV exports are generated in your browser from the data already on screen and saved only to your own device. Full detail is in the privacy policy.

Support

support@ursacorp.org