SETUP GUIDE

Connect Jira

Track every Strix case as a Jira ticket, and keep both in sync automatically. You’ll connect your Jira project once, then build four small Automation rules that push status, comments, attachments, and assignee changes back into Strix.

~20 min Two-way sync Jira Automation rules

How the sync works

Unlike an alert source, Jira syncs in both directions. Strix owns the ticket; Jira pushes changes back through four Automation rules.

Strix → Jira (outbound)

When a case opens, Strix creates a Jira ticket with the full analysis (automatically for critical cases, on-demand for the rest) and keeps its status and comments updated.

Jira → Strix (inbound)

Four Automation rules POST changes to your Strix webhook — status, comments, attachments, and assignee — so the case reflects work done in Jira.

Part 1 · Connect Jira in Strix

Link your Jira project and reveal the inbound webhook URL.

Before you start

  • A Jira Cloud site where you can create issues in a project (you know its project key).
  • An Atlassian account with permission to create issues in that project, plus an API token.
  • Rights to create Automation rules on that project (Project settings → Automation).
  1. 1
    Create a Jira API token

    In Atlassian, go to Account settings → Security → Create and manage API tokens → Create API token. Give it a label like “Strix” and copy the token — it is shown only once. Strix uses your Jira account email + this token to create and update tickets on your behalf.

  2. 2
    Enter your Jira details in Strix

    In Strix, open Settings → Jira and fill in four things: your Jira site URL, the Jira account email that owns the token, the API token itself, and the project key tickets should be created under (e.g. SEC). Save.

    Site URL     https://your-company.atlassian.net
    Account email you@your-company.com
    API token    <the token you just created>
    Project key  SEC
  3. 3
    Run Test Connection

    Click Test Connection. Strix authenticates against your Jira and confirms the project key is reachable. A red result almost always means a wrong email/token pair or a project key you don’t have permission to create issues in.

  4. 4
    Turn on Case Tracking

    Further down the Jira settings page, enable the Case Tracking toggle. This is what tells Strix to create a Jira ticket for a case (automatically for critical cases, on-demand for the rest) and to accept updates back from Jira.

  5. 5
    Copy your inbound webhook URL

    With Case Tracking on, Strix reveals your inbound webhook URL under Settings → Jira → Case Tracking. It carries a per-org token — treat the whole URL like a password. This is the address all four Automation rules below will POST to.

    https://api.redswordsecurity.com/webhooks/jira/<YOUR_TOKEN>

Part 2 · Build the four Automation rules

Each rule pushes one kind of change from Jira back to Strix.

The one rule that matters most

Each Automation rule must send only its own fields — exactly the JSON shown for it below. Strix decodes the body strictly and rejects anything with unexpected fields (HTTP 400), so don’t send Jira’s default full-issue payload. Build four separate rules; don’t combine them into one.

Creating a rule (same for all four)

  1. 1In Jira, go to Project settings → Automation → Create rule.
  2. 2Add the New trigger listed for the rule below.
  3. 3Add an action: Then → Send web request.
  4. 4Web request URL = your Strix webhook. Method = POST. Web request body = Custom data, and paste the JSON shown for that rule.
  5. 5Set Content type to application/json, save, and turn the rule on. Use the rule’s audit log to confirm it fires and returns 200/202.
Web request URL (all four rules):
https://api.redswordsecurity.com/webhooks/jira/<YOUR_TOKEN>
Rule 1
Status sync

Keeps the Strix case status in step with the Jira ticket. Move the ticket to In Progress or Done in Jira and the case follows.

Trigger
Work item transitioned (any status change)
Result in Strix
In Progress → case moves to In Progress · Done → case moves to Waiting for Fix (awaiting verification).
Web request body (Custom data)
{
  "webhookEvent": "jira:issue_updated",
  "issue": {
    "key": "{{issue.key}}",
    "fields": { "status": { "name": "{{issue.status.name}}" } }
  }
}
Rule 2
Comment sync

Mirrors Jira comments onto the case’s Timeline & Comments tab, so analysts see the whole conversation in Strix without switching tools.

Trigger
Work item commented
Result in Strix
Each new Jira comment appears under the case’s Comments, attributed to its Jira author.
Web request body (Custom data)
{
  "webhookEvent": "comment_created",
  "issue": { "key": "{{issue.key}}" },
  "comment": {
    "id": "{{comment.id}}",
    "author": { "displayName": "{{comment.author.displayName}}" },
    "body": {{comment.body.jsonEncode}}
  }
}
Rule 3
Attachment → evidence

Treats a file attached to the Jira ticket as remediation evidence on the case. This is what unlocks the admin Verify button.

Trigger
Field value changed → Attachment (or Work item updated)
Result in Strix
Records an evidence entry naming the file (and lets Strix download it back if the id is present). The case stays in Waiting for Fix until an admin clicks Verify.
Web request body (Custom data)
{
  "webhookEvent": "attachment_created",
  "issue": { "key": "{{issue.key}}" },
  "attachment": {
    "id": "{{attachment.id}}",
    "filename": "{{attachment.filename}}"
  }
}
Rule 4
Assignee sync

Reflects who the Jira ticket is assigned to onto the Strix case, so ownership stays consistent across both systems.

Trigger
Work item assigned
Result in Strix
The case’s Jira assignee is updated to the new Jira assignee.
Web request body (Custom data)
{
  "webhookEvent": "jira:issue_updated",
  "issue": { "key": "{{issue.key}}" },
  "assignee": {
    "displayName": "{{issue.assignee.displayName}}",
    "accountId": "{{issue.assignee.accountId}}"
  }
}

Note: Jira’s exact trigger names and smart values vary a little by plan and by whether you use team- or company-managed projects. If a smart value renders empty in a rule’s audit log, use Jira’s smart-value picker to find the equivalent for your project — the field names in the JSON above are what Strix reads and must stay as shown.

What each change maps to

In Jira
In Strix
To Do / Open
Case stays Open
In Progress
Case → In Progress
Done / Resolved
Case → Waiting for Fix (awaiting verification)
Comment added
Comment added to the case timeline
Attachment added
Evidence recorded · admin Verify becomes available
Assignee changed
Case Jira assignee updated

You're connected when…

  • Settings → Jira shows Connected and Test Connection is green.
  • A critical case shows an Open in Jira link (the ticket auto-created); a non-critical case shows a Create Jira Ticket button.
  • Moving the Jira ticket to In Progress flips the case to In Progress within ~30s (the case page polls — no refresh needed).
  • A comment on the Jira ticket appears under the case’s Comments.
  • Attaching a file to the Jira ticket records evidence and makes the admin Verify button clickable.
  • Reassigning the Jira ticket updates the case’s Jira assignee.

Troubleshooting

A rule returns HTTP 400
The request body carried a field Strix doesn’t expect. The inbound handler decodes strictly — each rule must send only its own fields (the JSON shown above), not Jira’s default full-issue payload.
Status changes but assignee/comments don’t (or vice-versa)
Each concern is a separate rule. Assignee especially must be its own rule with a top-level assignee — a status-only webhook must leave assignee out entirely, or Strix can’t tell “unchanged” from “cleared”.
Comment sync returns 400 on long comments
The comment text broke the JSON. Use {{comment.body.jsonEncode}} (not the raw {{comment.body}}) so quotes and newlines are escaped.
Nothing arrives from any rule
Wrong or rotated webhook token in the rule’s web-request URL. Re-copy it from Settings → Jira → Case Tracking. Also confirm the rule is enabled and its audit log shows it firing.
Ticket never gets created from Strix
Case Tracking is off, or the Jira account lacks Create Issue permission in the project. Only critical cases auto-create; for others use the Create Jira Ticket button on the case.

Keep the webhook token safe

The inbound webhook URL carries a per-org token — anyone with it can post case updates. Store it only in your Jira Automation rules. If it leaks, rotate it from Settings → Jira and update the URL in all four rules; the old token stops working immediately.

Frequently asked

Only the ones whose sync you want. Status sync (rule 1) is the one most teams start with. Add comment, attachment, and assignee sync as you need them — each is independent, and a missing rule simply means that one thing doesn’t flow back from Jira.

Want status, comments, and evidence to flow both ways? We'll help you wire Jira.

Book Demo