Lenses: Cross-Project Portfolio Views for Jira Cloud
A Lens in Foundation is a customizable, spreadsheet-like view that pulls Jira issues from any number of projects into a single hierarchy. Edit inline, drag-and-drop to reparent, roll up progress across teams — all without changing your underlying Jira data.

What is a Lens?
A Lens is the central working unit in Foundation — a saved hierarchical view of Jira issues that behaves like a spreadsheet and lives inside Jira as a global page. Each row is either a Jira issue or a Flex Item (a Foundation-only folder). You fill a Lens with work by adding issues directly, pasting issue keys, or pointing a Sync Agent at a JQL query. You organize rows by drag-and-drop, indent, and grouping. You edit Jira fields inline and the changes write back to Jira in the background. A Lens has an owner, granular permissions, saved views with different column sets, persistent sort and group configurations, and per-view conditional formatting rules. The data lives entirely inside Atlassian's cloud — Foundation is Forge-native, so a Lens never touches a third-party server. You can read more about the concept on the What is Foundation doc page.
How does a Lens differ from a Jira dashboard?
Jira dashboards are gadget grids — a bunch of filter gadgets, pie charts, and text widgets on a page. They do not stack work into a hierarchy, they do not let you edit the underlying issues, and they cannot show a parent-child tree where a Story sits under an Epic under an Initiative under a Goal. A Lens is the opposite: a single live, tree-structured working surface where every row is an editable Jira issue (or a Foundation Flex Item) and the hierarchy can span any number of projects. Dashboards are for broadcast; Lenses are for doing the work. Jira Cloud teams use them side-by-side — a dashboard on the team home for status reporting, a Foundation Lens for the day-to-day portfolio grooming, sprint planning, and cross-team dependency tracking where inline edits need to flow back to Jira in seconds rather than being filed as a separate change.
How does drag-and-drop reparenting work?
Every row in a Lens can be dragged onto another row to change its parent. A blue drop indicator shows whether the drop becomes a child (the target row expands), a sibling (the row is inserted next to the target), or a reorder (the row swaps position with a sibling). Multi-select lets you grab a group of rows — hold Shift or Cmd while clicking, then drag the whole selection as a unit. The reparent writes through to Jira: moving a Story under a different Epic updates Jira's parent field, and moving an issue to a Flex Item keeps Jira's parent intact but organizes it visually in your portfolio. Drag-and-drop respects your Jira edit permissions — you cannot reparent an issue you would not be allowed to edit in Jira itself.
How do Lenses handle cross-project hierarchies?
This is the headline capability. A Lens ignores Jira's per-project Epic-to-Story boundary entirely: you can put issues from Project A, Project B, and Project C under the same parent row in the same tree. Sync Agents can pull from any combination of JQL queries across your Jira site, so a single Lens can roll up every Epic in a program from ten different delivery teams. Progress, story points, and date rollups aggregate across project boundaries — a parent row shows the combined total of all its descendants regardless of which project each one lives in. Cross-project queries respect the lens owner's Jira BROWSE permissions, so nothing leaks past what the owner could already see in Jira itself. See Atlassian's issue hierarchy overview for Jira's native model — Foundation sits on top of it without modifying Jira's underlying schema.
What are Flex Items?
Flex Items are Foundation-only rows that do not exist as Jira issues. Think of them as folders, headings, or sections inside a Lens. They carry a name, an optional description, and can contain Jira issues or other Flex Items — arbitrarily nested. Use them to group work under labels Jira itself does not support: themes, workstreams, quarters, swimlanes, stakeholder buckets, at-risk initiatives. Because Flex Items never touch Jira, they cost zero Jira API points, do not consume a Jira issue key, and do not require anyone to have Jira edit permissions. A Flex Item can be promoted to a real Jira issue later with a right-click — Foundation creates the issue in the project you pick and moves the children under it. Full details on the Flex Items doc page.
Can I share Lenses with non-Jira users?
Lens permissions are granted separately from Jira permissions, so you can give a stakeholder View access to a Lens even if they do not normally live in Jira. The catch: Jira's BROWSE permission still decides which rows each viewer sees. Someone without BROWSE on a project will open the Lens successfully but will not see issues from that project. Four levels exist — View, Edit, Edit generators, and Control — and each can be granted to a user, a Jira group, or a Jira project role. Group and role grants resolve at check time, so adding someone to a granted group immediately gives them access without a second action. For a read-only executive, use View. For a teammate who should edit their own work, use Edit. For a portfolio manager who tunes Sync Agents, use Edit generators. For co-owners who manage sharing, use Control. The full model is documented at Permission model.
How do I create my first Lens?
Five minutes end-to-end. The short version:
- Click Foundation in the Jira left navigation to open Foundation Home.
- Click + Create Lens in the top-right of the header.
- Pick a template — Blank to learn the building blocks, or one of the presets (Agile Hierarchy, Multi-project Overview, Scrum Backlog, Status Overview).
- Enter a name (for example, Q2 Platform Roadmap) and an optional description. If the preset asks for Jira project keys, enter one or more comma-separated (for example,
FND, MKT). - Click Create Lens, then add issues via the + Add issue toolbar button, paste issue keys, or configure a Sync Agent. Preset templates also auto-create matching Sync Agents and run them once to populate the tree.
Full walkthrough with screenshots at Your first Lens.
How does this differ from Structure's equivalent view?
Structure calls its equivalent a Structure (confusingly overloaded with the product name). Both tools give you hierarchical multi-project views with inline editing and JQL-driven population. The key differences: Foundation is Forge-native, so Lens data stays inside Atlassian's cloud and costs zero egress, while Structure runs on Connect and routes through Tempo's external servers. Foundation's Sync Agents use free Jira event triggers to stay fresh, while Structure polls Jira on a schedule — which consumes API rate-limit points that matter under Atlassian's March 2026 rate-limit enforcement. Foundation is free for teams of 1–10 and priced below Structure at every tier. See the full Foundation vs Structure comparison for the detailed matrix.
Frequently asked questions
What is the issue limit per Lens?
Foundation's MVP supports up to 1,000 issues per Lens, with a hard cap of 10,000 rows (including Flex Items) in the underlying data model. Server-centric rendering keeps large Lenses responsive — the backend assembles the full view and the frontend draws it with AG Grid virtualization. We raise the default cap in post-MVP releases based on real customer data.
Can I export a Lens to CSV?
Yes. Every Lens has a one-click CSV export that honors your current filters, sort, grouping, and visible columns. Rich text fields flatten to plain text, custom fields export their displayed value (not internal IDs), and dates use ISO YYYY-MM-DD format so they open cleanly in Excel or Google Sheets. See the CSV export doc for the full list of what is and is not included.
Do Lenses count toward my Jira storage?
No. Lenses, Flex Items, hierarchy, and view configurations live in Forge SQL — a dedicated 1 GiB database Atlassian provisions for Foundation per installation. Your Jira issue storage is untouched. The issue cache that Foundation keeps for performance is a snapshot pointer, not a duplicate copy, and lives inside the same Forge SQL partition.
What happens if I delete a Lens?
Deleting a Lens removes the Lens itself, its saved views, its Sync Agent configuration, its Flex Items, and its permission grants. The underlying Jira issues are never touched — they stay exactly where they are in Jira. Only the owner or a user with Control permission can delete a Lens, and the action is confirmed with a typed dialog to prevent accidents.
Can I nest Lenses inside each other?
No. Lenses are top-level portfolio workspaces and do not nest. If you want sub-portfolios within a larger view, use Flex Items — Foundation's folder-like rows that can be nested arbitrarily deep inside a single Lens. For truly separate audiences or permission boundaries, create separate Lenses and share each one with the appropriate group.