Email parsing for Jira & Jira Service Management

Email to Jira Ticket Automation With a Jira Email Parser

Create Jira tickets from email with the custom fields already filled in

Jira's incoming mail handler is a transport, not an extractor. It copies the subject into the summary and the body into the description, so the purchase order number, customer ID, or severity sitting in the message text never reaches a field you can filter, route, or report on. MailParse reads the full body and any HTML table rows, pulls out the fields you name, and hands you clean CSV and JSON for Jira's CSV importer or the REST API.

Custom fields, not just description
HTML table rows captured
CSV import or REST API
Works alongside Jira's mail handler

Last updated July 2026

Convert your email files
No install

Connect a mailbox to pull .eml/.msg in bulk, or paste a raw email to test the converter now.

or paste an email to test
Output format
Columns to extract
Extract your own custom fields
Popular:

Create a free account to download. No credit card required.

Quick answer

Email to Jira ticket automation means turning an incoming message into a Jira issue that already has its fields populated, not just a summary and a wall of description text. Jira's own mail handler maps the subject to the summary and the body to the description, and leaves every custom field empty. MailParse reads the email body and its HTML tables, pulls out the values you name (order ID, asset tag, severity, requested date, line items), and exports CSV for Jira's importer or JSON you push through the Jira REST API, Automation, Zapier, or Make.

Summary + description
All Jira's mail handler maps
Named fields
What a parser adds on top
CSV & JSON
For the importer or the API
Table rows
Line items kept as rows

Every team on Jira eventually points a mailbox at a project. It is the cheapest intake channel there is: customers, vendors, and internal staff already know how to send an email, and Jira Service Management turns each one into a request without anyone filing a form. The trouble starts one board later, when someone asks to group the queue by customer, filter by severity, or report on how many requests came in against a given contract. Those values are all in the emails. None of them are in fields.

That gap is structural. Atlassian's incoming mail handler and the Jira Service Management email request channel both do the same fixed mapping: subject to summary, body to description, attachments to attachments. Jira Service Management will only process an email at all if every field other than summary and description is optional, which tells you plainly how much field population it expects to do. MailParse fills the gap from the other side. Connect the mailbox that receives the requests, name the fields you actually filter on, and the parser writes each message as a structured record: one column per field, one row per email, and a separate row for each line in an HTML table. From there you either import a CSV into Jira and map columns to custom fields, or push JSON into the Jira REST API as each message arrives.

What the converter does

Everything you need to turn a pile of email files into a spreadsheet your team can actually use.

Custom fields populated

Pull the order ID, asset tag, contract number, severity, or requested date out of the body and hand Jira a column for each one instead of a paragraph.

HTML tables become rows

Vendor and system emails often carry a table of line items. Each row comes out as its own record rather than collapsing into flattened description text.

CSV for the Jira importer

Export a file whose columns line up with your Jira fields, then run the external system import and map them once. One issue per row, custom fields included.

JSON for the REST API

Prefer real time? Take the same parsed fields as a JSON payload and create the issue through the Jira REST API, an Automation rule, Zapier, or Make.

Backfill a year of history

Automation rules only fire on new mail. A parser reads the archive too, so you can load a backlog of past requests with their fields intact.

Any mailbox Jira points at

Gmail, Microsoft 365, or a plain IMAP host. Parse the same mailbox your Jira project already collects from, so nothing about the intake changes for senders.

How to set up email to Jira ticket automation

Four steps from raw email files to a clean CSV, Excel, or JSON file.

1

Connect the intake mailbox

Point MailParse at the same Gmail, Microsoft 365, or IMAP mailbox your Jira project already receives requests on. Nothing changes for the people sending mail.

2

Name the fields you filter on

List the Jira fields your board and reports actually use, then name a parser field to match each one: customer, order ID, severity, due date, site, asset.

3

Check one message end to end

Run a real request through and confirm every value lands in the right column, including the rows of any table in the body. Adjust the mapping until it does.

4

Import or push to Jira

Export a CSV and map columns to Jira fields in the importer, or send the JSON payload to the Jira REST API so issues are created as the mail arrives.

Teams that run Jira on inbound email

Teams that deal with email in volume and need it as structured data.

IT service desk

Incidents raised by email arrive with an asset tag, site, and affected system in the text. Parse them into fields so the queue can be routed and SLA reported on.

Monitoring and alert triage

Machine generated alerts are rigidly formatted and carry the host, check, and timestamp in the body. Those are exactly the values that belong in Jira fields.

Procurement and vendor requests

Purchase requests and order confirmations carry PO numbers, quantities, and line items. Keep each line as a row instead of pasting the table into a description.

Customer support on Jira Service Management

Requests that come in by email keep the account number, plan, and product area as fields, so the board groups the way the team reports.

Why parse before the issue is created

Fields beat free text

A value in the description cannot be filtered, grouped, or charted. The same value in a custom field can. Parsing is what moves it across that line.

Tables survive

Jira's handler flattens an HTML table into description text. A parser keeps each row separate, which matters for any email that lists more than one item.

Regex rules break quietly

An Automation rule that scrapes the description with a regex stops matching the day a sender changes their template, and nothing tells you it stopped.

History comes with you

Automation only sees new mail. Parsing the mailbox lets you load a year of past requests as issues that already carry their fields.

Nothing changes for senders

Keep Jira's email channel exactly as it is. The parser reads the same mailbox alongside it, so no customer has to learn a new way to raise a request.

Portable to the next tool

The parsed fields are plain CSV and JSON, so the same setup feeds a spreadsheet, a CRM, or a warehouse if the work ever moves off Jira.

Four ways to get email into Jira, compared

Jira gives you real options here, and for a simple queue the free built-in route is the right answer. Here is an honest comparison of all four, including where Jira wins outright. For the step by step version, see creating a Jira issue from email, and for the same pattern in other systems the ServiceNow email parser and Salesforce email parser pages cover it.

What matters Jira mail handler alone Jira Automation with regex Marketplace email app MailParse then import or API
Creates the issue Yes, subject to summary and body to description Yes, the handler creates it and the rule edits it Yes, usually with its own mail connector Yes, by CSV import or a REST API call
Populates custom fields No, they stay empty One or two values, if the format never varies Often yes, depending on the app Yes, one parsed field per column
Handles an HTML table of line items No, it flattens into description text Poorly, regex over flattened text gets ugly fast Varies by app Yes, each table row is kept as a row
Loads a backlog of old email No, new mail only No, rules run on new issues Rarely Yes, parse the archive and import it
Who sets it up A Jira administrator, once A Jira admin comfortable with regex smart values A Jira admin, plus a per user subscription The person who owns the process
Cost Included with Jira Included with Jira A separate Marketplace subscription A MailParse plan, independent of your Jira seats
Best for A simple queue where summary and description are enough One consistent value from a machine generated sender Teams that want everything inside Jira and will pay per seat Several fields, varied senders, tables, or a backlog to load

Capabilities described as of July 2026; check current Atlassian documentation and Marketplace listings before you buy. MailParse reads the email itself: headers, body text, and HTML tables. Each attachment is recorded by filename, type, and size, and Jira's own mail handler will carry that file onto the issue. Reading the values inside an attached PDF is a separate document extraction job.

Frequently asked questions

Can Jira create tickets from email?

Yes. Jira Service Management has an email request channel you point a mailbox at, and Jira Software has an incoming mail handler an administrator configures. Both create an issue per message with the subject as the summary and the body as the description, and both bring attachments across. Neither one fills your custom fields.

Why are my Jira custom fields empty on tickets created from email?

Because nothing parsed the body. The mail handler is a transport: it copies the message text across wholesale and has no way to know that "PO: 44821" halfway down the body belongs in your purchase order field. Jira Service Management also only processes an email when every field other than summary and description is optional.

Does Jira have an email parser?

Not in the sense of field extraction. Jira parses enough of a message to create or comment on an issue and to strip quoted replies, but it does not map values from the body into named fields. To populate fields you either write an Automation rule with a regex, buy a Marketplace app, or parse the mailbox with an email parser first.

How do I map email content to Jira fields?

Name a parser field for each Jira field you care about, then run one real message through to confirm the values land correctly. Export a CSV whose columns match those Jira fields and map them once in Jira's importer, or send the same parsed fields as JSON to the Jira REST API so each new email creates a populated issue.

How do I import email data into Jira?

Use Jira's CSV importer. A site administrator can run an external system import, or you can use the project level CSV import. It creates one issue per row and lets you map each column to a Jira field, including custom fields. Parse the mailbox to CSV first so the columns already match the fields you want filled.

Can I convert an Outlook email to a Jira ticket?

Yes. Forwarding a message to the project address works and gives you the default summary and description mapping. To keep the values in the body as fields, connect the Microsoft 365 or Outlook mailbox to a parser, map the fields, and load them into Jira instead of forwarding message by message.

Why do email replies create new Jira issues instead of comments?

Threading depends on email headers. Jira matches a reply to an existing issue using the issue key in the subject and the message headers, so a client that rewrites or strips those headers breaks the link and a new issue is created. Keeping the issue key in the subject line is the most reliable fix.

Does this work with Jira Service Management and Jira Software?

Yes. The parsing side is identical because it happens on the mailbox, before Jira is involved. What changes is the delivery: Jira Service Management projects usually keep their email request channel switched on and take parsed fields through the API or an import, and Jira Software projects most often use the CSV importer.

Create Jira issues that arrive with their fields filled in

Parse the intake mailbox once, map the fields your board reports on, then import a CSV or push JSON to the Jira REST API.