Why I built this
Everywhere you look in modern workplaces, teams are gathered around screens — staring at digital boards, scrolling through backlogs, and managing sprints from their desks. Digital tools are essential, and they're not going anywhere. But something gets lost when every conversation happens through a screen.
We believe in a hybrid approach. Physical meetings and workshops still generate richer, more mature conversations. When people stand around a wall of printed cards, they point, rearrange, annotate, and discuss in ways that a monitor can't replicate. There's a directness to it — a shared physical space that encourages participation and creates a baseline understanding that's hard to achieve digitally.
Once that baseline is established — once the team has aligned through hands-on collaboration — you can gradually shift to a digital workflow with confidence. The physical session builds the shared context; the digital tools maintain and track it.
Jira Card Printer exists to build a bridge between these two worlds. It takes the data already living in your Jira instance and turns it into something you can hold, pin to a wall, and gather around. No re-typing, no sticky notes with half the information missing. Just your real tickets, designed the way you want them, ready to print.
Whether it's a sprint planning workshop, a retrospective wall, a stakeholder walkthrough, or a team room Kanban board — sometimes the best interface is a card on a wall and a conversation between people.
Overview
Jira Card Printer lets you turn Jira issues into printable cards with a fully customizable layout. Perfect for physical Kanban boards, sprint planning walls, or any time you need your tickets on paper.
- Fetch Issues via JQL: Load issues from any Jira project using preset filters or custom JQL queries.
- Visual Card Designer: Drag-and-drop grid editor to position, resize, and style every field on your card.
- AI Processing: Use OpenAI, Anthropic, or other AI providers to summarize, categorize, or transform field values.
- Reusable Templates: Save your card designs and load them later. Export and import as JSON for backup.
- Print-Ready Output: Half-A4 or full-A4 card sizes, optimized for clean printing directly from your browser.
- Smart Sorting: Sort cards by field values, group linked issues together, or let AI discover grouping strategies.
Getting started
Install from the Atlassian Marketplace
Find "Jira Card Printer" on the Atlassian Marketplace and click Install. Your Jira administrator will need to approve the installation.
Open the App
Once installed, navigate to the app from the Apps menu in your Jira Cloud top navigation bar. The app opens as a full-page view inside Jira.
Follow the Tab Workflow
The app guides you through five tabs in order: Select Issues → Design Cards → AI Processing (optional) → Templates → Print. Each step builds on the previous one.
PermissionsThe app requires read-only access to your Jira issues (read:jira-work) and user info (read:jira-user). It does not modify any Jira data.
Step 1: Select issues
Choose a Project
Use the Project dropdown to select from all Jira projects you have access to. This scopes your query to that project.
Use a Preset Filter
Quick-start with one of the built-in filters:
| Filter | What It Loads |
| Recent Issues | Newest issues by creation date |
| My Open Issues | Issues assigned to you that are not Done |
| Updated This Week | Issues updated in the last 7 days |
| High Priority | Issues with priority = High |
Write Custom JQL
For full control, type your own JQL query in the text area. If you also selected a project, the app will combine them automatically (e.g., project = MYPROJ AND status = "In Progress").
TipNew to JQL? Check the Atlassian JQL guide for syntax reference. The app supports any valid JQL that your Jira instance accepts.
Load Issues
Click Load Issues to fetch up to 100 issues. The footer status bar shows how many issues were loaded. Once loaded, the other tabs become available.
Step 2: Design cards
Select Fields
The left panel shows all available fields from your loaded issues. Toggle fields on or off to control which ones appear on the card. Use Select All or Deselect All for quick bulk changes. You can also rename fields for display purposes (e.g., rename "customfield_10001" to "Story Points").
Drag-and-Drop Layout
The center canvas shows a live preview of your card. Each enabled field appears as a draggable block on a 12-column grid:
- Drag a field to reposition it anywhere on the card
- Resize by pulling the bottom-right corner handle
- Use the Auto Arrange button to automatically compact all fields into a tidy layout
- Navigate between issues with the Prev/Next buttons to preview different cards
Style Individual Fields
Hover over any field on the canvas to reveal quick-action buttons:
| Button | Action |
| B | Toggle bold text |
| + / − | Increase or decrease font size (8–24px) |
| L | Toggle the field label on/off |
| [ ] | Toggle a border around the field |
| C | Open the color rules editor |
Conditional Color Rules
Make fields change color based on their content. For example:
- If Status equals "Done" → green background
- If Priority contains "High" → red text
- If Assignee is not empty → blue background
Open the color rule editor by clicking the C button on a field, or use the Style Panel on the left. The available operators are: equals, contains, is not empty, and is empty. Each rule lets you set both background and text colors.
Quick PresetsUse the one-click preset buttons ("Yes = Green", "No = Red", "Has Value = Blue") to instantly apply common color rules.
Card Background Rules
In the Style Panel, you can also set card-level background rules that color the entire card based on a field condition, not just a single field. This is useful for visually distinguishing card categories at a glance.
Step 3: AI Features (optional)
Configure Your AI Provider
Before using AI features, connect to an AI provider in the AI Processing tab:
Grant Data Consent
Check the consent box to acknowledge that Jira field data will be sent to your chosen external AI provider for processing. This is required before any AI features work.
Select a Provider
Choose from the supported providers:
| Provider | Get API Key |
| OpenAI | platform.openai.com/api-keys |
| Anthropic | console.anthropic.com/settings/keys |
| OpenRouter | openrouter.ai/keys |
| Azure OpenAI | Azure Portal → Cognitive Services |
| AWS Bedrock | AWS Console → Bedrock |
| Custom | Any compatible API endpoint |
Enter Your API Key
Paste your API key into the password field. Click Test Connection to verify it works, then click Save Configuration.
SecurityYour API key is stored in Atlassian's encrypted secret storage. It is never returned to the browser after saving — only a "configured" indicator is shown.
Process Fields with AI
Once configured, use the AI Field Processor to transform field values:
- Pick a source field (the field to process)
- Pick a target field: overwrite the original, create a new AI-generated field, or write into any existing field
- Choose a preset prompt or write your own custom prompt
- Click Preview to see the before/after result for the current card
- Click Apply to process the current card or all cards at once
Preset Prompts
| Preset | What It Does |
| Summarize | Condenses the field value into a brief summary |
| Shorten | Reduces length while preserving meaning |
| Expand | Adds more detail and context |
| Bullet Points | Reformats into a bulleted list |
| Title | Generates a short title or headline |
| Keywords | Extracts key terms and topics |
| Sentiment | Analyzes the tone (positive, negative, neutral) |
| Category | Classifies the content into a category |
Shared Team Configuration
If you are a project administrator, you can enable the "Configure for entire project team" option. This shares your AI provider settings with all team members so they don't need to set up their own API keys.
Step 4: Templates
Save a Template
In the Templates tab, give your current card design a name and click Save. This stores everything: which fields are enabled, their positions on the grid, all styling rules, font sizes, and card background conditions.
Load a Template
Click Load on any saved template to apply it. The app uses smart column mapping to adapt the template to your current data:
- Fields are matched by name first, then by position
- New fields in your data are added (disabled by default)
- Missing fields are gracefully skipped
This means the same template works across different projects and queries, even when the field set changes slightly.
Save Enrichments
If you've added custom enrichment data (see Enrichments below), you can save and load those separately under the Enrichments sub-tab.
Export & Import
Under the Export/Import sub-tab:
- Export downloads a JSON file with all your templates and enrichments — useful for backup or sharing with colleagues
- Import loads a previously exported JSON file, merging it with your existing configurations
Step 5: Print
Choose a Card Size
Use the dropdown in the bottom-right corner to pick your card size:
| Size | Dimensions | Best For |
| Half A4 | 210 × 148.5 mm | Two cards per A4 page — good for sticky notes and compact boards |
| Full A4 | 210 × 297 mm | One card per page — larger, more readable cards |
Preview Cards
Scroll through the Print tab to see all your cards rendered with their final layout, styles, and any sorting applied. Each card shows a number indicator (#1, #2, etc.) and group labels if linked-issue grouping is active.
Click the Print All Cards button (or press Ctrl+P / Cmd+P) to open your browser's print dialog. The app automatically hides all UI controls and formats cards for clean printing with correct page breaks.
Print TipIn the browser print dialog, set margins toNoneand enable"Background graphics"to preserve colors on your printed cards.
Card sorting
Simple Sort Rules
Click Sort Cards in the Design tab to open the sorting panel. Add one or more sort rules:
- Pick a field to sort by
- Choose ascending or descending direction
- Enable Numeric mode for fields with numbers (uses natural sort so "10" comes after "9")
- Stack multiple rules — they apply in order, with each subsequent rule breaking ties from the previous one
Linked Issue Grouping
If your issues have linked tickets (e.g., "is blocked by", "relates to"), you can group them together:
- Add a Link Grouping rule
- Select the Key Field (your issue key, e.g., "Issue ID")
- Select the Linked Issues Field (the field containing references)
- Set the Issue Key Pattern (default: [A-Z]+-\d+ for standard Jira keys)
Related issues are grouped together in the print output using a graph-based algorithm that handles circular references.
AI-Powered Sorting
With an AI provider configured, you can enable intelligent sorting:
- Discover Smart Grouping Options — The AI analyzes a sample of your issues and suggests grouping strategies with confidence scores
- Natural Language Links — Finds relationships described in text (e.g., "blocked by", "depends on")
- Semantic Clustering — Groups issues by topic similarity
- Fuzzy Matching — Finds similar entries despite spelling variations
Select which fields the AI should analyze, optionally customize the prompt, and click Run AI Analysis. Results are cached so they persist when switching tabs.
Enrichments
Enrichments let you attach extra information to cards that doesn't exist in your Jira data. This is useful for adding sprint goals, team assignments, or any other context you want on the printed card.
How to Use Enrichments
- In the Design tab, open the enrichment panel
- Select a Group Field — this is the column used to categorize your issues (e.g., "Status", "Issue Type", "Priority")
- The app shows all unique values for that field and how many issues belong to each
- Click on a value to expand its enrichment editor
- Add custom fields with a name and value. These fields then appear on every card that matches that group value
Example Group by "Issue Type". Click "Bug". Add a custom field called "Test Required" with value "Yes". Now every Bug card will show "Test Required: Yes" as an additional field that you can position and style like any other field.
Data & Privacy
Data Storage
- All app data (templates, enrichments, preferences) is stored within Atlassian Forge Storage — it never leaves Atlassian's infrastructure
- API keys are stored in Forge's encrypted secret storage and are never returned to the browser
- Templates and enrichments are encrypted at rest using AES-256-GCM encryption with per-user keys
AI Data Processing
When you use AI features, Jira field values you select are sent to your chosen external AI provider for processing. Important details:
- You must explicitly consent before any data is sent externally
- Only the specific field values you choose to process are sent — not your entire Jira dataset
- Data is minimized before sending: field values are truncated to 5,000 characters and internal Jira metadata (account IDs, issue key patterns) is automatically redacted
- All AI data processing is logged in an audit trail with 90-day retention
Jira Access
The app has read-only access to your Jira data. It cannot create, modify, or delete any issues, projects, or other Jira resources. All API calls are made under your user identity for full auditability.
Delete Your Data
You can delete all your personal data at any time from the AI Configuration panel. Click Delete My Data to permanently remove all templates, enrichments, AI configuration, preferences, and audit logs associated with your account.
FAQ
Can I use the app without AI?
Yes. AI features are entirely optional. You can design, customize, and print cards without configuring any AI provider.
How many issues can I load at once?
The app loads up to 100 issues per query. Use more specific JQL filters to narrow your results if you have a large project.
Can I share templates with my team?
Yes. Export your templates as a JSON file from the Templates tab, and share the file with teammates who can import it into their own session.
Why are my colors not printing?
Make sure to enable "Background graphics" (or "Background colors and images") in your browser's print dialog settings. This is turned off by default in most browsers.
Does the app modify my Jira issues?
No. The app has read-only access. It fetches issue data for display only and never writes back to Jira.
What happens to my API key?
Your API key is sent once to the Forge backend where it is stored in Atlassian's encrypted secret storage. It is never stored in the browser and is never returned after saving.
Can project admins configure AI for the whole team?
Yes. Project administrators can enable "Configure for entire project team" to set up a shared AI configuration. Team members will use this shared config instead of needing their own API keys.