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:
Trigger: Google Sheet (New Row) – When a new row is added.
Jira Node: Create a new ticket with details from the Google Sheet (summary, description, etc.).
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
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?
@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.
@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.
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!