Set Reporter Email from Google Sheet in Jira Ticket using n8n

I’m building a workflow in n8n to automatically create a Jira ticket whenever a new row is added to a Google Sheet. Everything is working fine except for setting the Reporter field using the email from the sheet.

Workflow Overview:

  1. Trigger: Google Sheet (New Row) – When a new row is added.
  2. Jira Node: Create a new ticket with details from the Google Sheet (summary, description, etc.).
  3. Issue: Unable to set the “Reporter” field using the email from the sheet.

I tried directly setting the email in the reporter field within the Jira node, but I got an error saying:
“Reporter field is not settable.”
I also tried using the id instead of the email, but I haven’t figured out how to retrieve the corresponding id.

What I Need Help With:

  • Is there a way to set the Reporter field using an email?
  • If Jira requires an ID instead of an email, how can I fetch the correct ID within the workflow?

Would really appreciate any guidance on this! Thanks in advance :rocket:

It looks like your topic is missing some important information. Could you provide the following if applicable.

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

I had a quick look at the Jira node, “create an issue”, it looks like the reporter field is selectable or allows an ID to be entered. So I’m assuming Jira is expecting some sort of account ID in this field, you would need to correlate each email to a specific account and retrieve the ID. Make sure you then set it to “By ID” and then map accordingly in expression mode.

@Daniel_Lamphere Thanks for the response! You’re absolutely right—Jira seems to expect an account ID instead of an email in the “Reporter” field.

I now understand that I need to correlate each email with the corresponding Jira account ID and then set the field using “By ID” in expression mode. However, I’m not sure about the best way to retrieve the correct account ID based on the email.

Could you guide me on how to map emails to Jira account IDs within n8n?

  • Is there a built-in way to fetch the ID dynamically?
  • Would I need to use an API call to Jira’s user search endpoint?
  • Any recommended approach to store and manage these mappings efficiently?

I appreciate your help! :rocket:

I believe you’d have to use the HTTP request for that. To do that:

  • Go to: Atlassian account to create an API token (which you might already have)
  • For the basic auth, your username would be your Jira email and the password would be your API token.

Then integrate it in your workflow. Here’s an example:

1 Like

@hrishikesh In my use case, I need to search for an account ID in Jira using the email address submitted by users in a Google Sheet. How should I configure the “HTTP Request” node to enable the system to search for the account ID based on the provided email address?

Once you have connected the Google Sheet node to the HTTP request node, the data from Google Sheet node should be available to the HTTP request node in the “input” section. You should be able to use that data to dynamically craft the URL. My n8n instance is currently not loading, so I can’t show you an example at least right now, but hopefully that would give you an idea. If not, I can try putting an example together once it loads.

So assuming your sheet has something like:

you can create a connection like:

where the query params would look like:

2 Likes

@hrishikesh I’ve set up the “HTTP request” node as you advised, but it seems to be causing an error with the Create JIRA Ticket node, as shown in the image below.

That error seems like your “summary” is missing. From the looks of the setup, I would guess that the summary didn’t exist in the row that was fetched from Google Sheets.

Ok not to step on @hrishikesh toes but once the cred is set up in a Jira node you can use that cred type and n8n will handle the auth portion of the request. You would select “Predefined credential type” and then select “Jira Software Cloud API”.
But back to your original question, you could use this endpoint: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-user-search/#api-rest-api-3-user-search-get

This would allow you to fetch accountIDs by email which you could then use. As for storing and mapping them, it depends on the volume of users, if this workflow won’t be triggered too often(as jira does have a ratelimit) then I wouldn’t worry about it, else you could look at n8n variables or a DB but both of those are probably overkill.

@hrishikesh, when I remove the “HTTP request”, the node from sheet to JIRA works normally. I assume that adding the “HTTP request” in the middle is causing the issue, as I’ve demonstrated above. Do you have any ideas on how to resolve this

@hrishikesh, I’ve resolved the issue by adding the “Google Sheet Trigger” node in the JSON description as below:
{{ $node["Google Sheets Trigger"].json["Description:"] }}

Thank you very much for your advice on using the “HTTP Request” to search for the Jira ID with an email!

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.