Reference · Tools

Jira Trigger

Starts workflow when Jira events occur

Webhook trigger Productivity v1

The Jira Trigger starts a workflow when the events you select happen in Jira Software Cloud — issue, comment, sprint, board, project, version, worklog and user activity — passing the full webhook payload through. A typical build is notifying a channel whenever an issue moves into a blocked status.

Node type
Webhook trigger
Parameters
2
Outputs
Output
Credentials
Jira Software Cloud

Jira Trigger

Triggers on Jira issue, comment, sprint, board, project, and version events.

Overview

The Jira Trigger node listens for webhook events from Jira Software Cloud. It starts a workflow automatically when issues are created, updated, or deleted, when comments or worklogs change, when sprints start or close, when boards or projects are modified, and many other Jira events. The node receives the full Jira webhook payload including issue details, user information, changelog entries, and event metadata. Supports filtering by specific event types.

Category: Productivity
Tool Name: jira_trigger
Version: 1

Appearance: Icon: si-jira | Color: #0052cc

Node Type

Trigger — webhook (receives incoming HTTP callbacks)

Input / Output

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires Jira Software Cloud credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
EventsmultiOptionsYes[]The Jira events to listen for. Select specific events or * for all events.
Options: * (All Events), board_configuration_changed, board_created, board_deleted, board_updated, comment_created, comment_deleted, comment_updated, jira:issue_created, jira:issue_deleted, issuelink_created, issuelink_deleted, jira:issue_updated, option_attachments_changed, option_issuelinks_changed, option_subtasks_changed, option_timetracking_changed, option_unassigned_issues_changed, option_voting_changed, option_watching_changed, project_created, project_deleted, project_updated, sprint_closed, sprint_created, sprint_deleted, sprint_started, sprint_updated, user_created, user_deleted, user_updated, jira:version_created, jira:version_deleted, jira:version_moved, jira:version_released, jira:version_unreleased, jira:version_updated, worklog_created, worklog_deleted, worklog_updated
Additional FieldscollectionNo{}Configure additional webhook settings including filtering and extra fields.
— Exclude BodybooleanNofalseWhether a request with empty body will be sent to the URL. Leave unchecked if you want to receive JSON.
— FilterstringNoJQL query to send only events triggered by matching issues. Only applies to Issue and Comment events.
— Include FieldsmultiOptionsNo[]Additional fields to include as query parameters in the webhook URL. Jira resolves these template variables in the callback.
Options: attachment.id, board.id, comment.id, issue.id, mergeVersion.id, modifiedUser.accountId, modifiedUser.key, modifiedUser.name, project.id, project.key, property.key, sprint.id, version.id, worklog.id

Output Data

Each accepted delivery produces one output item. The Jira payload is placed directly on the item, and any query parameters Jira resolved from Include Fields are merged in alongside it:

{
  "webhookEvent": "jira:issue_created",
  "timestamp": 1767225600000,
  "user": {
    "self": "",
    "accountId": "",
    "displayName": "",
    "active": true
  },
  "issue": {
    "id": "",
    "key": "",
    "self": "",
    "fields": {
      "summary": "",
      "status": { "name": "" },
      "priority": { "name": "" },
      "issuetype": { "name": "" },
      "project": { "key": "", "name": "" },
      "assignee": null,
      "reporter": { "displayName": "" },
      "created": "",
      "updated": ""
    }
  },
  "changelog": { "id": "", "items": [] },
  "_trigger": "jira_webhook",
  "_timestamp": "2026-01-01T00:00:00.000Z",
  "_webhookEvent": "jira:issue_created"
}
  • _trigger — always jira_webhook.
  • _timestamp — ISO 8601 timestamp of when the delivery arrived.
  • _webhookEvent — the event name, taken from the payload’s webhookEvent field, falling back to issue_event_type_name, then unknown.
  • The rest of the payload varies by event: issue events carry issue and changelog, comment events carry comment, sprint events carry sprint, and so on.
  • With Exclude Body enabled Jira sends an empty body, so only the query parameters and the three metadata fields arrive.

Reference values downstream by expression, for example {{ $json.issue.key }} or {{ $json.issue.fields.summary }}.

Deliveries for events you did not select are acknowledged with 200 but do not start the workflow. Deliveries that do not carry the expected verification token are rejected with 401.

Usage Examples

  • Start a workflow when a Jira issue is created
  • Trigger an action when a Jira issue is updated or transitioned
  • React to new comments on Jira issues
  • Monitor sprint starts and closures in Jira
  • Track when Jira project versions are released

Example Configuration

Fire on issue creation and updates:

{
  "type": "jira_trigger",
  "parameters": {
    "events": ["jira:issue_created", "jira:issue_updated"]
  }
}

Restrict issue events to one project with a JQL filter and request extra fields:

{
  "type": "jira_trigger",
  "parameters": {
    "events": ["jira:issue_created", "jira:issue_updated"],
    "additionalFields": {
      "excludeBody": false,
      "filter": "project = 'DEMO' AND assignee = currentUser()",
      "includeFields": ["issue.id", "project.key", "modifiedUser.accountId"]
    }
  }
}

Track comment activity with the commenting user:

{
  "type": "jira_trigger",
  "parameters": {
    "events": ["comment_created", "comment_updated"],
    "additionalFields": {
      "includeFields": ["comment.id", "issue.id", "modifiedUser.accountId"]
    }
  }
}

Monitor the sprint lifecycle:

{
  "type": "jira_trigger",
  "parameters": {
    "events": ["sprint_created", "sprint_started", "sprint_closed"],
    "additionalFields": {
      "includeFields": ["sprint.id", "board.id"]
    }
  }
}

Listen for every Jira event with a minimal body:

{
  "type": "jira_trigger",
  "parameters": {
    "events": ["*"],
    "additionalFields": {
      "excludeBody": true,
      "includeFields": ["issue.id", "project.id"]
    }
  }
}

Trigger Behavior

  • Activation: When the workflow is activated, a webhook endpoint is registered with the service.
  • Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
  • Payload: The incoming webhook payload is parsed and output as workflow items.
  • Verification: Supports signature verification where applicable.

Tips

Connects to Jira Software Cloud via webhooks. Select which events to listen for (issues, comments, sprints, boards, projects, versions, worklogs, users). When the selected event occurs in Jira, this node receives the full webhook payload and starts the workflow. Requires Jira Cloud API credentials (email, API token, domain). Optionally filter events with a JQL expression.

Important Notes

  • Fields in additionalFields must be nested directly under the additionalFields key
  • The filter parameter only applies to Issue and Comment events
  • Use "*" in events to listen for all Jira events
  • Set excludeBody to true if you only need minimal webhook data

Frequently asked questions

Can I narrow which issues fire the trigger?

Yes, with a JQL expression — but the filter applies only to Issue and Comment events. Other event types are not filtered by it.

How do I listen for everything?

Use `"*"` in the events selection to subscribe to all Jira events, then filter downstream if only some matter.

Where do the optional fields go?

Nested directly under the `additionalFields` key rather than at the top level of the parameters.

What credential does it need?

A Jira Software Cloud credential — email, API token and domain. That is a different credential from the one the Jira action node uses.

Build with the Jira Trigger node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Jira Software Cloud credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.