Portal Community

When to Use

Configuration

Connection

FieldRequiredDescription
HostRequiredJira instance base URL. Example: https://acmecorp.atlassian.net
EmailRequiredAtlassian account email. Example: automation@acmecorp.com
ApiTokenRequiredAPI token from Atlassian security settings. Store in Credentials Manager.

Operation Fields

FieldRequiredDescription
UsernameRequiredThe Jira username or email address to look up. On Jira Cloud, you can pass the user's email address as the username. Example: jsmith or jsmith@acmecorp.com.

Sample Configuration

{
  "resource": "user",
  "operation": "get",
  "Host": "https://acmecorp.atlassian.net",
  "Email": "automation@acmecorp.com",
  "ApiToken": "{{ $credentials.jiraApiToken }}",
  "Username": "{{ $json.assigneeEmail }}"
}

Validation Errors

Error CodeCause
VAL_MISSING_USERNAMEUsername is empty or null.
USER_NOT_FOUNDNo user exists with the given username or email in the Jira instance.
AUTH_FAILEDInvalid credentials or expired API token.

Output Fields

FieldTypeDescription
statusstring"success" or "error"
userIdstringJira account ID. This is the value needed for issue assignment in Jira Cloud (assignee.accountId).
usernamestringThe user's login username.
displayNamestringFull display name shown in Jira.
emailstringEmail address. May be masked for privacy on Jira Cloud if the user has restricted visibility.
activebooleantrue if the account is active. false for deactivated accounts.
resourcestringAlways "user"
operationstringAlways "get"

Sample Output

{
  "status": "success",
  "userId": "5b10a2844c20165700ede21g",
  "username": "jsmith",
  "displayName": "John Smith",
  "email": "jsmith@acmecorp.com",
  "active": true,
  "resource": "user",
  "operation": "get"
}

Expression Reference

ExpressionTypeExample ValueUse
{{ $output.getUser.userId }}stringJira account IDUse as assignee.accountId in issue/update or issue/create Fields
{{ $output.getUser.active }}booleantrueGate assignment operations — only assign to active accounts
{{ $output.getUser.displayName }}string"John Smith"Populate notification with user's full name
{{ $output.getUser.email }}string"jsmith@acmecorp.com"Send direct email to the user

Node Policies & GuardRails

Workflow Examples

Example 1 — Resolve Username to Account ID for Assignment

// Step 1: user/get — resolve assignee username to accountId
{
  "resource": "user",
  "operation": "get",
  "Username": "{{ $json.assigneeEmail }}"
}
// Step 2: IfCondition — {{ $output.getUser.active }} === true
// Step 3 (if active): issue/update
{
  "IssueKey": "{{ $json.issueKey }}",
  "Fields": {
    "assignee": { "accountId": "{{ $output.getUser.userId }}" }
  }
}
// Step 4 (if inactive): route to error handler — "User account is inactive"

Example 2 — User Existence Check Before Create

// Step 1: user/get — check if user already exists
{
  "Username": "{{ $json.employee.workEmail }}"
}
// Step 2: IfCondition — {{ $output.getUser.status }} === "success" (user found)
// Step 3a (user exists): use existing userId
// Step 3b (user not found — error port fires): user/create