twilight ventures

data lens: excel, log, csv viewer & editor for jira

Atlassian Marketplaceavailable nowruns on Atlassian

Install from the Atlassian Marketplacefree for sites up to 10 users

What the node left behind when it failed is the first thing at the scene. Take the canary: it counts the ERROR, WARN, INFO, DEBUG and TRACE lines on the way in, and a click brings one level into view.

The log from the failing node, the CSV export and the spreadsheet the customer sent all end up attached to the issue, where reading any of them has meant a download first. Data Lens: Excel, Log, CSV Viewer & Editor for Jira opens them on the issue. The panel lists the issue's data file attachments, and the one you pick renders as a paged table right there, its bytes fetched in small ranges through the Jira API as the person viewing the issue, so someone who cannot download an attachment cannot read it through the viewer either. It opens logs and plain text, CSV and TSV, JSONL and NDJSON, Parquet, Excel workbooks and the gzip-wrapped .log.gz, .jsonl.gz and .csv.gz. A log is line indexed and scanned for severity on the way in.

opens
logs and plain text (.log, .txt, .out), CSV and TSV, JSONL and NDJSON, Parquet with snappy, gzip, zstd or lz4 columns, Excel .xlsx and .xlsm, and the gzip-wrapped .log.gz, .jsonl.gz and .csv.gz
runs on
Jira Cloud, on Atlassian, with no vendor servers
store
on the Atlassian Marketplace
version
3.2.0, published 2026-10-27, approved 2026-09-14
Data Lens on a Jira issue: a log attachment as a table with level chips above it
A 38 MB log opened in about three seconds: chips filter to one level in a click, and the footer keeps the full count, 14,326 ERROR and 28,652 WARN in this file.

what it does

  • The panel: press the app actions button under the issue title and choose Data Lens; it lists the issue's data files, and when exactly one is a supported format it opens directly
  • Logs and plain text: line indexed; once the level scan finishes, chips show how many ERROR, WARN, INFO, DEBUG and TRACE lines the file has, one click filters to a level and a second click clears it; stack-trace continuation lines stay attached
  • CSV and TSV: delimiter sniffing, header detection and quoted fields
  • JSONL and NDJSON: records indexed in the background while the first rows render
  • Excel: the first sheet with headers detected and date and number formats applied, every sheet listed in the Schema tab, macros never run; a legacy .xls is refused with a plain message
  • Parquet: a Schema tab with column types, codecs, encodings and per-column statistics
  • Search: scans the whole file and reports a hit count; the arrows jump between matches and Aa toggles case
  • Gzip: .log.gz, .jsonl.gz and .csv.gz inflate in the browser under a 384 MB decompressed ceiling; a larger file asks for a download instead
  • Row detail: any row opens whole, with a copy button
  • Editing: double-click a CSV or TSV cell and type; the change waits in a list until you confirm it, and the file is saved as a new attachment beside the original, which stays as it was
  • JSON: an array of objects opens as a table, any other document in the detail pane

the file stays in jira

The panel reads the attachment with your own access, straight from Atlassian in your browser and never through our servers, so the file needs no download and leaves no copy on a laptop. When you edit a cell, the edited file is added as a new attachment next to the original, a comment on the work item names the change, and nothing is deleted.

what it asks for

  • read:jira-work, the classic read scope: the attachment list of the issue the panel is open on, then byte ranges of the one attachment you chose to open, fetched as you
  • Ten new permissions, used only when you press Apply: two writes, attachments (your edits saved as a new attachment beside the untouched original) and comments (the change noted on the work item), and the eight reads Jira requires beside them: attachments, comments and their properties, users, avatars, groups, projects and project roles; the app never deletes an attachment
  • What it stores: nothing on any server outside Atlassian; your browser keeps the theme, the ids of the attachments you open and the text of your searches (up to 200 of each, behind the counts in the trial notice), the notices it has shown and your answer to the one review prompt
  • Permissions follow Jira: someone who cannot download an attachment cannot see it through the viewer either

ask rovo about an attachment

On a site with Rovo, the app adds an agent named Lens Attachment Reader to Rovo Chat. Ask it about a file attached to the open work item and it reads the file through the same reader the panel uses, then answers from what it read: the columns and their types, the row or line count, the first rows, the error lines of a log with their line numbers, or the rows that contain a word you name. The file is read as you, so the agent sees only what you can see, and the app itself sends nothing outside Atlassian. A CSV, JSONL, log or text file is read in its first 4 MB, and the answer says which part it covers. The app is listed on the Marketplace AI and Rovo collection.

price, as the store shows it

Free up to 10 users. Past 10 users every user is billed: USD 3.35 per user per month for sites up to 100 users, less per user on larger sites. Billing runs through the Atlassian Marketplace, an annual plan costs ten times the monthly rate, and every paid plan starts with a 30-day free trial.

The Data Lens panel on a Jira issue listing the data files attached to it
The panel lists every data file on the issue; CSV, JSONL and Parquet open as paged tables, and Parquet gets a schema tab with types and column statistics.

what's new

more

Pricing, invoices and licensing questions go to sales@twilightventures.dev; anything else about the product to support@twilightventures.dev.