Jira
Ask Escher to do something in Jira. Escher generates the Python script that does it and runs it from your machine.
How it works
Jira is one of the targets recognised by Escher's integrations agent. When you type a Jira-related request:
- The integrations agent classifies your request as
jira - The query is routed to the code-gen agent with
action: "jira" - The code-gen agent streams back a Python script that uses Jira's REST API
- The script runs from your machine using your Jira credentials
This is the same pattern Escher uses for Linear and GitHub. Escher does not maintain a persistent connection to your Jira instance, and there is no built-in "create a ticket from this Finding with severity mapping" engine. Each request produces a fresh script.
What you can ask
"Create a Jira ticket in the INFRA project from this Finding, with the conclusion as the description and severity as priority."
"List all open Jira issues assigned to me in the SecOps board."
"Add a comment to ticket INFRA-1247 saying the remediation is complete."
The script Escher generates can do anything the Jira REST API supports.
Authentication
Generated scripts read your Jira credentials from your environment. Set the standard variables before running:
export JIRA_BASE_URL="https://your-org.atlassian.net"
export JIRA_EMAIL="you@company.com"
export JIRA_API_TOKEN="your-api-token"You can generate an API token at id.atlassian.com → Security → API tokens.
What's not supported
- Saved field-mapping rules (e.g. "Finding severity → Jira priority", "Finding category → Jira component")
- Two-way status sync between Jira tickets and Escher Findings
- Auto-attachment of Canvases to Jira issues without a per-request prompt
If you want field mapping or attachment behaviour, include it in your prompt — Escher will generate the script accordingly.