Customata — Visual Automation Builder for Jira
All node fields support the {{...}} template syntax. Templates are resolved at execution time using data from the trigger issue, user-defined variables, and encrypted secrets.
| Template | Description |
|---|---|
{{issue.key}} |
Issue key (e.g. PROJ-123) |
{{issue.summary}} |
Issue summary |
{{issue.status.name}} |
Current status name |
{{issue.priority.name}} |
Priority name |
{{issue.assignee.displayName}} |
Assignee display name |
{{issue.fields.customfield_10001}} |
Custom field value by ID |
{{vars.myVariable}} |
User-defined variable |
{{secrets.API_TOKEN}} |
Encrypted secret |
{{vars._current}} |
Current item in a For Each loop |
{{vars._index}} |
Current index in a For Each loop (0-based) |
{{vars._error.message}} |
Error message (in error branches) |
{{vars._error.statusCode}} |
HTTP status code of the failed request |
{{vars._error.body}} |
Response body of the failed request |
Creates a new Jira issue in the specified project.
{ key, id, self }Error path provides: {{vars._error.message}}, {{vars._error.statusCode}}, {{vars._error.body}}
Updates fields on a Jira issue.
{ status: "ok" }Moves a Jira issue to a new workflow status.
{ status: "ok", transitionName }If the transition name is not found, the error message lists all available transitions for the issue.
Adds a comment to a Jira issue.
{ id, self }Conditional branching (if/else). Evaluates a condition and routes the flow accordingly.
==, !=, >, <, contains, matches regexTwo outputs: yes (condition is true) and no (condition is false). All operands support template syntax.
Iterates over a collection, executing the "cycle" branch for each item.
Two outputs: cycle (executed per item) and done (after all items are processed).
Inside the loop, use {{vars._current}} for the current item and {{vars._index}} for the zero-based index.
Tips: A dead end (no outgoing connection) inside the cycle branch acts as "continue to next item." Use a Branch node inside the cycle for conditional skipping. Use Break Loop to exit early and jump to the "done" branch.
Sets one or more user-defined variables that can be referenced later in the flow.
Variable names may only contain A-Z, a-z, 0-9, and underscores. Values support template syntax.
Makes an HTTP request to an external URL.
The response variable contains:
{{vars.name.body}} — parsed JSON or raw text{{vars.name.statusCode}} — HTTP status code{{vars.name.statusText}} — HTTP status text{{vars.name.status}} — "ok" or "error"{{vars.name.headers}} — response headersWrites a message to the execution log without stopping the flow. Useful for debugging.
The message appears in the execution log with per-node trace and timestamp.
Stops playbook execution and optionally returns a value to Jira Automation.
Terminal node — no outgoing connections. The return value is accessible via smart values in Jira Automation.
Stops playbook execution with an error message. Logs as "controlled stop" (distinct from unexpected errors).
Terminal node — no outgoing connections. The message appears in the Jira Automation audit log.
Breaks out of the current For Each loop. Execution continues with the "done" branch of the For Each node.
Terminal node — no outgoing connections. Has no effect if used outside of a loop.
All Jira API nodes (Create Issue, Update Fields, Transition Issue, Add Comment) have two output handles:
How it works:
Inside an error branch, the following variables are available:
{{vars._error.message}} — human-readable error message{{vars._error.statusCode}} — HTTP status code (e.g. 404, 400){{vars._error.body}} — raw response body from the Jira APIThe _error variable is automatically cleared after the next successful Jira node execution.
Secrets are stored encrypted in Forge Storage and are never exposed in the UI or execution logs after saving.
{{secrets.SECRET_NAME}}Scopes:
Secret values are never displayed after saving (shown as •••••). Values are automatically masked in execution logs.
Every playbook run is logged with a full per-node trace. Access logs from the main screen by clicking the Logs button on any playbook.
Each log entry includes:
The last 20 executions are stored per playbook.
Connection rules: Each output handle can have at most one outgoing edge. Terminal nodes (Return, Stop with Error, Break Loop) cannot have outgoing connections.