oc Outlier Crosstab Narrow tools for Jira
Crosstaban product Live demoInstall

Try it here, before anybody installs anything

These are the gadgets, not pictures of them. Four of the five, in two columns the way a dashboard lays them out: Crosstab, the grid, and under it Crosstab Sprints, the board's last sprints, in the first; Crosstab Change, what has moved since a grid was kept, and under it Crosstab Chart, the same grid drawn as a chart, in the second. A window too narrow for two columns puts the second under the first. The fifth, Crosstab Total, is not on this page: it draws the grid's grand total on a card of its own. The grid, Change and Chart share the settings this page saves, as gadgets joined by Use these do on a dashboard, and all four are the same code that runs there, wired to the same resolvers. As on a dashboard, each has its own Settings - the grid's over the page, the chart's and the sprints' on their cards, where the chart also chooses the drawing and the sprints how many to draw. The sprints keep theirs apart: they read alone.

The grid shows what it shows on a dashboard: four views, the shading, the margins, keeping and publishing a grid, and Export. A kept grid is the keeper's own, and on your site Publish this grid is not shown until a Jira administrator switches publishing on; here it is on. A grid kept three weeks ago is already here, so Crosstab Change has something to measure today against. Open at page width opens the same grid across the whole window, with all nine views, the grid measured against a kept one cell by cell, and one cell followed through the grids you keep.

Both columns start at 346 pixels, the width every measurement of this product was taken at. Drag the handle on the edge of the grid, or press it and use the arrow keys, and both columns take the new width, as a dashboard's columns do: how much of a table survives a dashboard column is the constraint this whole product is designed around, and it is the one thing screenshots are worst at showing.

Five things here are not your Jira, and each of them is a difference you would otherwise have to take on trust.

The board is invented. It is 4,789 issues generated in this browser - issue types, statuses, priorities, labels, estimates and dates that behave like a board mid-flight rather than a tidy sample. No real project, nobody's ticket summaries, and no site of ours holding either. The Jira profile you read it as is invented too, and set to Europe/London: a grid by week or month of a date with a time in it, such as created or resolved, starts each one at London's midnight, wherever you are. A due date carries no time, so no zone moves its columns. Unless you are in London yourself, a file you export from a grid of the first kind names both zones - your clock for when it was read, London for the dates in the grid. And it moves: every grid you keep is followed by a working day on it - some open issues a status further on, a few dropped, six raised - so reload the page after Keep this and Crosstab Change has that day to measure. A real site holds the grid it gave you for five minutes before reading again; this one lets the day show at once.

It answers instantly, and your own site will not. A real read is paged, a hundred issues at a time, and this gadget gives itself fifteen seconds before it stops and says so. That limit is real and it is drawn on the grid when it bites - what is missing here is the waiting, because how fast a site answers belongs to that site rather than to this product. The method page says exactly what happens when a read is cut short.

A figure shows you the query instead of opening it. Every cell opens the issues behind it, and the search it opens them with is built by the same code on a dashboard. That search belongs in your Jira, which is not this host - so pressing a figure here prints the exact JQL it would have run.

A search of your own runs against a smaller Jira. The board in this browser carries the fields the settings form offers - project, issue type, status, status category, priority, labels, components, fix versions, sprint, team, department (a custom select field) and parent, and when each issue was created, updated, resolved and is due - and answers a query over all but the dates with =, !=, in, not in, is EMPTY, is not EMPTY, ~ and the three sprint functions, joined by AND and OR, and with >, >=, < and <= on created and resolved against a date, -7d or startOfMonth(). Ask it about a field it does not have, an assignee or a worklog date, and it says so rather than pretending: your own site answers that query unchanged, and this one is a board of four thousand invented issues rather than a Jira.

Nothing is stored anywhere but this browser. What you configure and what you keep goes into this browser's own storage, in place of the Forge storage a real installation writes to. A second tab of this page is therefore the same gadget rather than a second one: what you keep in either shows up in both, and changing the settings in one changes them in the other the next time it is loaded. That is how one installation behaves, and it is the part of it this page can show. Start over empties it. There is no account here, nothing is sent anywhere, and closing the tab is the whole of the cleanup. One thing an installation keeps there is not kept here: a real site counts what its gadgets read of Jira against its share of an hourly allowance and stops at it, and this board is read from no allowance, so no number of reloads here runs one down.

This is the only page on this site that runs a script of ours, and that is worth saying out loud on a site whose argument is that it sends nothing anywhere. Every other page is HTML and CSS with nothing of ours to execute, which the build checks rather than promises. This one carries the product itself, built from the same sources as the gadget and served from this host. The two things any page here loads from elsewhere are Cloudflare Web Analytics, which the host adds to count visits, with no cookies, and on the support page alone Cloudflare's check that a person is sending its form - the privacy page says what each of them sees.

Crosstab is on the Atlassian Marketplace, where a Jira administrator installs it once for the site. After that, anybody who can edit a dashboard can add it to that dashboard.