Back to Jira in Google Sheets
SheetXAI logo
Jira logo
Jira · Google Sheets Guide

Bulk Create Jira Issue Links From a Google Sheet Dependency Map

2026-05-15
5 min read

The Scenario

PI planning wraps up tomorrow and the technical program manager has a 35-row dependency table in a Google Sheet: source issue key in column A, link type in column B (blocks, is blocked by, relates to), and target issue key in column C. None of those dependencies exist yet in Jira. The planning board won't reflect the actual work sequence until they do.

The bad version:

  • Open Jira, navigate to the first issue in column A.
  • Click the link icon, select the link type from the dropdown, type the target issue key, save.
  • Find the next source issue, repeat.
  • Realize around row 15 that the link type dropdown in Jira uses "is blocked by" but your sheet has "blocked by" — and some entries created the wrong relationship direction.

Thirty-five dependencies at three minutes each is nearly two hours of clicking. And discovering the link type mismatch halfway through means going back and deleting the ones you got wrong.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent inside your Google Sheet. It reads the Dependencies sheet and through the Jira integration creates every link in one operation.

For each row in my Dependencies sheet, create a Jira issue link from the issue in column A to the issue in column C using the link type in column B, and write the result into column D.

What You Get

  • One Jira issue link created per row, with the source, type, and target from the corresponding columns.
  • Column D receives 'linked' for each success or the error message for any row that failed — invalid link type, key not found, duplicate link.
  • Failed rows are visible immediately so you can fix and re-run without touching successful rows.

What If the Data Is Not Quite Ready

Your sheet has "blocks," "blocked by," and "related" but Jira expects "Blocks," "is blocked by," and "relates to."

Before creating links, normalize the link type values in column B to match Jira's accepted names exactly: 'blocks' becomes 'Blocks', 'blocked by' becomes 'is blocked by', 'related' becomes 'relates to'. Then create all issue links and write the result into column D.

Some rows in the sheet have already been linked from a prior partial run

Column D has 'linked' in some rows from yesterday. You don't want to create duplicate links for those.

For each row in my Dependencies sheet where column D is empty or contains an error (not 'linked'), create the Jira issue link using columns A, B, C and write the result into column D. Skip rows already marked 'linked'.

A few of the issue keys might be from a project that was recently archived.

For each row in my Dependencies sheet, first check that both the issue key in column A and the issue key in column C exist in Jira. If either is invalid, write 'invalid key' in column D and skip. For valid pairs, create the issue link using the type in column B.

For each row in my Dependencies sheet, check that both the source key in column A and the target key in column C exist in Jira. Normalize the link type in column B to match Jira's exact names. Skip any row where column D already says 'linked'. Create the remaining links and write 'linked' or the error into column D. In cell F1, write a summary: how many links created, how many skipped, how many errored.

Running validation and normalization before creation prevents the half-correct run that leaves you auditing which links landed correctly.

Try It

Get the 7-day free trial of SheetXAI and open your dependency mapping Google Sheet with source keys in column A and target keys in column C, then ask it to wire up every relationship in Jira before PI planning. See also: how to bulk create Jira issues from a spreadsheet and how to bulk update issue fields.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more